学习用书:《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<y 表示x小于y
x>y 表示x大于y
x>=y 表示x大于等于y
x<=y 表示x小于等于y
x!=y 表示x不等于y
x is y 表示x和y是同一个对象(当采用链式赋值x=y=[1,2,3]时,x和y是同一个对象,因为在赋值时,先将一个列表赋值给y,然后将y的值赋给x,所以x和y指向了同一个对象)
x is not y 表示x和y不是同一个对象
x in y 表示x是y的成员,如y是列表[1,2,3,4], 那么1是y的成员,而5不是
x not in y 表示x不是y的成员(in 和 not in 也可以用于判断一个字符串是否包含另一字符串)
断言
断言主要用于监测程序在某个地方是否满足条件,在TDD(测试驱动开发)中经常使用断言,TDD会在程序发现异常时执行断言,并抛出异常。
在Python语言中,断言需要使用assert语句,在assert关键字后面指定断言的条件表达式,若表达式的值是False,则抛出异常,且断言后的语句不会被执行,相当于程序中的一个断点。
例:
name="Bill"
assert name=="Bill" #断言条件为True,继续执行下面的语句
age=20
assert 0<age<10,"年龄必须小于十岁" #断言条件为False,抛出异常,不会执行后面的代码
print("hello world") #不满足条件,该行不被执行
结果:
循环
(1)while循环(直到不满足条件,循环结束)
结构:
while 条件表达式:
代码块
(2)for循环
可以迭代集合、列表等可迭代对象,如:
keywords=['this','is','while','for','if'] #定义一个字符串列表
for keyword in keywords: #用for循环输出列表中的元素
print(keyword)
结果:
this
is
while
for
if
(补充)range函数可用于生成随机数,例:for num in range(1,11): #用range函数生成元素值为1-10的列表
(3)跳出循环
break语句彻底退出循环 break;
continue语句终止本次循环后,立刻开始执行下一次循环 continue;(搭配if使用)
例:
x=0
while x<3:
if x==1:
x+=1 #此次x需加一,否则进入死循环
continue;
print(x)
x+=1
(4)循环中的else语句
有时需要知道循环是正常结束还是通过break语句中断的,可以为循环加一个else子句,它的作用仅仅是循环正常退出时执行(在循环中没有执行break语句),可用于while循环和for循环
例:
x=0
while x<10:
x+=1
if x==random.randint(1,20):
print(x)
break;
else:
print("没有中断循环")