Python:匿名函数
【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!版权所有,侵权必究!
[返回Python教程首页]
匿名函数
某些时候,我们定义的函数比较简单且复用性很低,可以无需显式的定义函数,将其定义为匿名函数更方便。Python用lambda
来创建匿名函数。
定义匿名函数的语法格式:
lambda arg1,arg2,...,argn: expression
#args是参数,可以有多个,用逗号隔开,expression是表达式
例如需要定义一个求两数乘积的函数,如果不使用匿名函数,定义如下:
def multiply(x,y):
return x*y
如果用匿名函数就只需要一句简短的代码就能实现上述功能:
lambda x,y:x*y
具体使用见下例:
>>> func = lambda x,y:x+y
>>> func(3,4)
7
>>> f = lambda x:x*x
>>> f(3)
9
注意:
1.lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
2.lambda的主体是一个表达式,而不是一个代码块,只能在lambda表达式中封装有限的逻辑。