python匿名函数
所谓匿名,即不再使用def语句这样的标准形式定义一个函数。Python将使用lambda创建一个匿名函数。
下面定义一个返回参数之和的函数。
def sum(x, y):
return x + y
函数只有一个表达式,可以使用lambda运算符来定义这个函数。
sum = lambda x, y: x + y
那么,lambda表达式有什么用处呢?Python中lambda有很多优点,主要包含如下:
- 在python中写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
- 对于一些抽象的、不会在其他地方重复使用的函数,避免取名问题,可以使用lambda表达式
- 在某些时候,使用lambda会让代码更容易理解,
当然,匿名函数也有一些规则要谨记:
(1)若只有一个表达式,则必须有返回值。
(2)可以没有参数,也可以有一个或多个参数。
(3)不能有return。
lambda语句中,冒号前是参数,可以有多个,用逗号隔开冒号右边的返回值。lambda语句构建的其实是一个函数对象。
例如,求取x的平方值:
>>> g = lambda x: x ** 2
>>> print (g)
>>> print (g(6))
# result
<function <lambda> at 0x031A99C0>
36