匿名函数 lambda(一句话函数)
1.语法: 变量名 = lambda 参数(形参) : 返回值
2.匿名函数的名字叫做 lambda
3.lambda是定义匿名函数的关键字; lambda后面直接加形参,形参加多少都可以,用逗号隔开; 返回值和正常的函数一样,只能返回一个数据类型,可以是任意数据类型; 匿名函数只能写一行,且逻辑结束后直接返回数据.
func = lambda a,b: a+b
print(func(3, 4))
lst = [lambda i:i*i for i in range(10)]
print(lst[2](2)) # 4
lst = [lambda :i*i for i in range(10)]
print(lst[2]()) # 81
lst = list(lambda i:i*i for i in range(5))
print(lst[1](4)) # 16
lst = [x for x in (lambda :i**i for i in range(5))]
print(lst[2]()) #256
lst得到是10个lambda内存地址组成的列表,形参可以不写,返回值必须写
lst = [] # 1.3拆解
for i in range(10):
def func(i):
return i*i
lst.append(func)
print(lst[2](3))
lst1 = [] # 5.7拆解
def func():
for i in range(5):
def foo():
return i**i
yield foo
for x in func():
lst1.append(x)
print(lst1[2]())