Python lambda函数(匿名函数)的用法
所谓匿名函数,指不使用 def 语句这样的标准形式定义的函数。Python 将使用 lambda 创建一个匿名函数。
下面定义一个返回参数之和的函数。
其实,Python 中的 lambda 还是有很多优点的,主要说明如下:
当然,匿名函数也有一些规则需要谨记:
在 lambda 语句中,冒号前面是参数,可以有多个,用逗号隔开;冒号后面是返回值。lambda 语句构建的其实是一个函数对象。
例如,求取x的平方值:
下面定义一个返回参数之和的函数。
def f(x,y):
return x+y
f = lambda x, y: x + y
那么,lambda 表达式有什么用处呢?很多人提出了这样的质疑,lambda 与普通的函数相比,就是省去了函数名称而已,同时这样的匿名函数又不能共享在别的地方调用。其实,Python 中的 lambda 还是有很多优点的,主要说明如下:
- 在 Python 中写一些执行脚本时,使用 lambda 可以省去定义函数的过程,让代码更加精简。
- 对于一些抽象的、不会在其他地方重复使用的函数,取名字也是一个难题,使用 lambda 则不需要考虑命名的问题。
- 在某些时候,使用 lambda 会让代码更容易理解。
当然,匿名函数也有一些规则需要谨记:
- 若只有一个表达式,则必须有返回值。
- 可以没有参数,也可以有一个或多个参数。
- 不能有 return。
在 lambda 语句中,冒号前面是参数,可以有多个,用逗号隔开;冒号后面是返回值。lambda 语句构建的其实是一个函数对象。
例如,求取x的平方值:
g = lambda x : x**2
print (g)
print (g(6))
<function <lambda> at 0x02CDA778>
36