匿名函数(lambda)
lambda 函数表达式专门用来创建一些简单的函数,是函数创建的又一种方式。
- “语法糖”的概念,就是简写。这里匿名函数就是简单函数一般写法的简写
- 匿名函数使用一次就从内存中消失
语法:
lambda 形式参数列表:返回值
例:
Lambda a,b : a + b
- 匿名函数一般作为参数使用,其他地方一般不会使用
# 一般定义函数:
def fn5(a,b):
return a + b
# 用 lambda 函数表达式:
# Lambda a,b : a + b
# 这两个函数等价
print(lambda a,b : a + b)
# 执行结果: <function <lambda> at 0x025870D0>
# 调用匿名函数
print((lambda a,b : a + b)(10,20))
# 执行结果: 30
# 创建并调用匿名函数
l = [1,2,3,4,5,6,7,8,9]
r = filter(lambda i : i > 5 , l)
print(list(r))
可以将匿名函数赋值给一个变量,但一般不会这么做,这样做不如直接创建非匿名函数fn6 = lambda a,b : a + b