python的匿名函数使用关键字lambda定义,由一个表达式组成,代表了函数的“返回值”。
匿名函数通常只有一行表达式。python代码由表达式和语句组成,主要区别是表达式是一个值(Python对象),结果不是对象的代码称为语句,如if, print等。
lambda 语法:
lambda args:表达式
lambda返回的是一个可以立即使用的函数对象,或者将它保存为一个变量,或者保存为一个回调函数。
示例:
1. 求三个变量的和
>>> sum = lambda x, y, z: x+y+z
>>> sum(1,2,3)
6
2. 求n的阶乘
>>> n = 3
>>> reduce(lambda x,y: x*y, range(1, n+1))
6
3. 函数中返回lambda
>>> def fun(x):
... return lambda y: x+y
...
>>> a = fun(3)
>>> a
<function <lambda> at 0x7f488141f5f0>
>>> a(2)
5