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的编写更紧凑。