lambda表达式属于python中函数部分。可以叫它为匿名函数(为什么可能涉及到函数的def语句,这里不再讨论)并且可用于任何需要函数对象的地方。需要注意的是:
- 匿名函数只能是单个表达式,而不是一段代码块。
- 它返回的是一个函数而不是将函数赋值给一个变量。
- lambda是表达式,而不是语句。所以lambda可以出现在语句def不能出现的地方。
lambda表达式的规则是:
lambda 形参1, 形参2. ···, 形参N : 表达语句
例:
f = lambda x : x*2
g = f(2)
print(g)
>>>4
f = lambda x,y : x+ y
g = f(2,3)
print(g)
>>>5
为什么使用lambda而不使用def来定义函数呢?
因为lambda可以达到速写函数的目的,带来一个更加简洁的代码结构。
参考书目:《python学习手册》