#例如:
a =10
b =20if a <= b:
value = a
else:
value = b
print(value)#代码很多,但是可以简写为
value = a if a <= b else b #首先对if后面的语句进行计算,最后在将value赋值print(value)#在列表推导时,这种条件表达式非常有用,如:
values =[2,5,11,6,3,22,43,12,54,32,64]
cliped =[x if x <30else30for x in values]print(cliped)
10
10
[2, 5, 11, 6, 3, 22, 30, 12, 30, 30, 30]
2.大数相加使用下划线占位符
a =10000000
b =100000
c = a + b
print(c)#使用下划线方式
a = 10_000_000
b = 100_000
c = a + b
print(c)print(f'{c:,}')
10100000
10100000
10,100,000
3.同时遍历多个列表,使用zip
#例如同时遍历下面三个列表
a =[1,2,3,4,5]
b =[6,7,8,9,10]
c =[10,11,12,13,14]for a1,b1,c1 inzip(a,b,c):#zip将a,b,c中的元素打包成了元组,a1,b1,c1是解包操作,看下面print(a1, b1, c1)print(20*'=')for value inzip(a,b,c):print(value)
#何为解包,例如:
a, b, c =(1,2,3)#可以为列表,元组print(a, b, c)#更多的解包操作
al =[1,3,4,5,6,7]
a, b,*c = al
print(a,b,c)
c, d,*e, f = al
print(c, d, e, f)
1 2 3
1 3 [4, 5, 6, 7]
1 3 [4, 5, 6] 7
5.为对象动态添加属性
#创建对象之后为对象添加原本没有的属性,例如:classdog(object):#一个没有任何属性和方法的类pass
d = dog()setattr(d,'dog_weight',20)#为d设置dog_weight属性setattr(d,'dog_color','yellow')#为d设置dog_color属性print(d.dog_weight, d.dog_color)#获取属性print(getattr(d,'dog_weight'),getattr(d,'dog_color'))print(20*'=')#如果有一个属性字典,比如:
attr_dict ={'weight':20,'color':'yellow','name':'little'}#都需要设置在dog对象上,如何做呢?很简单:
d2 = dog()for k, v in attr_dict.items():setattr(d2, k, v)for k in attr_dict.keys():print(getattr(d2, k))
20 yellow
20 yellow
====================
20
yellow
little
6.如何执行模块,查阅模块文档
#在命令行中执行某个python模块,如flask
python -m flask run
#查看模块提供的文档,在命令行中:help(flask)#查看模块包含哪些方法属性dir(flask)