学习用书:《Python 从菜鸟到高手》李宁
print函数
为print函数传入多个参数值时,print函数会将所有的参数值首尾相接输出,并默认用空格隔开,如:
print("a","b","c","d") #输出:a b c d
如果要用逗号隔开,且参数值与逗号间没有空格,则修改默认的多参数值分隔符,在print函数后添加“sep=“,” ”即可
print("a","b","c","d",sep=",") #输出:a,b,c,d
若希望调用多次print函数都在同一行输出,在print函数最后加上end=“ ”即可让最后一个输出字符串结尾符变成空格;也可以用end=“”把结尾长度设置为0的字符串
print("a",end="") #无空格
print("b")
#输出:ab
print("a",end=" ") #有空格
print("b")
#输出:a b
赋值操作
(1)解包
python支持同时将多个值赋给多个变量,等号右侧的值要与左侧的变量个数相等。
#利用解包赋值
x,y,z=1,2,3
print(x,y,z) #输出:1 2 3
#利用解包交换值
x,y=y,x
print(x,y) #输出:2 1
(2)链式赋值
x=y=20
print(x,y) #输出:20 20
(3)增值操作
如: x=x20 可以写成x=20
布尔值与布尔变量
None、0、""、() 、[ ]、{ }默认为False
用bool函数将其他类型转化为布尔型:bool([ ]) #结果为False
注意:上面六个值虽然默认为False的值,但不能直接与布尔值比较,如:直接使用“ [ ] == False”是错误的表达方法,应该先用bool函数将其转化为布尔值再比较:bool( [ ] ) == False #注意python严格区分大小写,false是没有被定义的,False才是正确的,同理True也是首字母大写
条件语句
两种结构:if…else…结构和if…elif…else…结构(if 和 else 都只能有一个,elif 可以有多个)
在python语言中,条件语句同样可以嵌套使用
语法格式:
if 条件 :
代码块(缩进)
else :
代码块
if 条件 :
代码块(缩进)
elif :
代码块
else :
代码块
比较运算符
x==y 表示x等于y
x
x>y 表示x大于y
x>=y 表示x大于等于y
x<&#61;y 表示x小于等于y
x!&#61;y 表示x不等于y
x is y 表示x和y是同一个对象(当采用链式赋值x&#61;y&#61;[1,2,3]时&#xff0c;x和y是同一个对象&#xff0c;因为在赋值时&#xff0c;先将一个列表赋值给y&#xff0c;然后将y的值赋给x&#xff0c;所以x和y指向了同一个对象)
x is not y 表示x和y不是同一个对象
x in y 表示x是y的成员&#xff0c;如y是列表[1,2,3,4]&#xff0c; 那么1是y的成员&#xff0c;而5不是
x not in y 表示x不是y的成员(in 和 not in 也可以用于判断一个字符串是否包含另一字符串)
断言
断言主要用于监测程序在某个地方是否满足条件&#xff0c;在TDD(测试驱动开发)中经常使用断言&#xff0c;TDD会在程序发现异常时执行断言&#xff0c;并抛出异常。
在Python语言中&#xff0c;断言需要使用assert语句&#xff0c;在assert关键字后面指定断言的条件表达式&#xff0c;若表达式的值是False&#xff0c;则抛出异常&#xff0c;且断言后的语句不会被执行&#xff0c;相当于程序中的一个断点。
例&#xff1a;
name&#61;"Bill"
assert name&#61;&#61;"Bill" #断言条件为True&#xff0c;继续执行下面的语句
age&#61;20
assert 0
print("hello world") #不满足条件&#xff0c;该行不被执行
结果&#xff1a;
循环
(1)while循环(直到不满足条件&#xff0c;循环结束)
结构&#xff1a;
while 条件表达式:
代码块
(2)for循环
可以迭代集合、列表等可迭代对象&#xff0c;如&#xff1a;
keywords&#61;[&#39;this&#39;,&#39;is&#39;,&#39;while&#39;,&#39;for&#39;,&#39;if&#39;] #定义一个字符串列表
for keyword in keywords: #用for循环输出列表中的元素
print(keyword)
结果&#xff1a;
this
is
while
for
if
(补充)range函数可用于生成随机数&#xff0c;例&#xff1a;for num in range(1,11): #用range函数生成元素值为1-10的列表
(3)跳出循环
break语句彻底退出循环 break&#xff1b;
continue语句终止本次循环后&#xff0c;立刻开始执行下一次循环 continue&#xff1b;(搭配if使用)
例&#xff1a;
x&#61;0
while x<3:
if x&#61;&#61;1:
x&#43;&#61;1 #此次x需加一&#xff0c;否则进入死循环
continue;
print(x)
x&#43;&#61;1
(4)循环中的else语句
有时需要知道循环是正常结束还是通过break语句中断的&#xff0c;可以为循环加一个else子句&#xff0c;它的作用仅仅是循环正常退出时执行(在循环中没有执行break语句)&#xff0c;可用于while循环和for循环
例&#xff1a;
x&#61;0
while x<10:
x&#43;&#61;1
if x&#61;&#61;random.randint(1,20):
print(x)
break;
else:
print("没有中断循环")