Python允许用lambda关键字创造匿名函数。匿名是因为不需要以标准的方式来声明,比如说,使用def语句。看起来,lambda是一个函数的单行版本,但它不等同于C++的内联语句,这种语句的目的是由于性能的原因,在调用时绕过函数的栈分配。
举例:
def add(x,y): return x+y
等同于
lambda x, y: x+y
实际调用:
>>>add(2,3)
>>>5
>>>a=lambda x,y:x+y
>>>a(2,3)
>>>5
默认以及可变的参数也是允许的,如下例所示:
def add2(x,y=2): return x+y
等同于
lambda x,y=2: x+y
实际调用:
>>>a=lambda x,y=2: x+y
>>>a(3)
>>>5
>>>a(3,5)
>>>8