Python中可以使用关键字lambda来定义匿名函数,不需要使用def。函数的声明与函数体必须在同一行,形式如下:
lambda [arg1[, arg2[, ...argN]]]: expression
参数可以省略,expression的值就是返回值。下面两种分别使用def与lambda的格式等价:
#def
def func1():
return 1
#lambda
lambda: 1
另外,可以对lambda定义的函数设置一个引用,方便再次使用:
>>> lambda:1
<function <lambda> at 0x021FCFA8>
>>> func1=lambda:1
>>> func1
<function <lambda> at 0x021FF030>
>>> func1()
1
lambda定义匿名函数可以使GUI设计中对button等widgets的listener的编写更紧凑。