匿名函数
匿名的意思,就是隐藏自己不让别人知道你的名字。比方说很多人都讨厌的一种人,以匿名的方式打小报告,然后都不知道他是谁。
匿名函数:与函数有相同的作用域,没有与之绑定的名字意味着引用计数为0,使用一次即被收回,加括号即可运行。
# 一个有函数名的函数
def func(x,y):
return x+y
res = func(1,2)
print(res)
# 没有函数名的函数 lambda 匿名函数
print((lambda x,y:x+y)(1,2))
print((lambda x,y:x+y))
# lambda 后面的 x,y 就类似于函数的形参
# x+y 就类似于函数的返回值,1,2 就是实参
# 3
# 3
<function <lambda> at 0x0000001FDCC71EA0>
# 如果让其有名字,那匿名函数就没有了意义
func = lambda x,y:x+y
func(3,4)
三元表达式
条件成立返回值 if 条件 else 条件不成立返回值
x = 10
y = 20
print(x if x > y else y)
# 20
列表推导式
列表推导式提供了比较简单的方式来创建列表,它的结构是一个中括号内,放入 表达式,然后是也该 for 语句,然后是0个或多个 for 语句或者 if 语句。
# 正常 for 循环 需要创建一个空列表
lis = []
for i in range(6):
if i == 4:
continue
lis.append(i)
print(lis)
# 列表推导式
print([i for i in range(6) if i!=4])
# [0, 1, 2, 3, 5]
# [0, 1, 2, 3, 5]
字典生成式
print({i:i*2 for i in range(5)})
{0: 0, 1: 2, 2: 4, 3: 6, 4: 8}
zip() 方法
key = ['name','age','hobby']
value = ['jason',18,'tank']
res = zip(key,value)
print(dict(res))
{'name': 'jason', 'age': 18, 'hobby': 'tank'}