Python:匿名函数

大数据学习路线图

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表达式中封装有限的逻辑。