匿名函数即无名函数,其形式为:lambda 参数1,参数2:表达式,其中参数1,参数2为传递的参数,表达式计算出的结果为返回的值。
# 普通函数def add1(x,y): return x+y print(add1(10,20)) # 匿名函数(lambda)add2 = lambda x,y:x+y # x,y 是参数,x+y的结果是函数的返回值print(add2(10,20))
lambda是一个表达式,而不是语句,不是一个代码块。因此lambda能够出现在Python语法不允许def出现的地方。如下:
lst = [lambda x:x**2, lambda x:x**3, lambda x:x**4] for i in lst: print(i(3))"""输出:92781""" # 当然lambda完全可以使用def语句来替换:def f1(x): return x**2 def f2(x): return x**3 def f3(x): return x**4print('*'*60)lst = [f1,f2,f3]for i in lst: print(i(3))"""输出:92781"""
领取专属 10元无门槛券
私享最新 技术干货