匿名函数lambda

python通过关机案子lambda创建匿名函数,就不需要再用def来定义,应该是从性能的角度,调用时绕过了函数栈分配

>>> def fun(a, b):
…     return a + b

>>> fun(1, 2)
3
>>>
>>> a = lambda x, y: x + y
>>> a(1, 2)
3
>>>

网上流行的两句话:

python lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符,而def则会把函数对象赋值给一个变量

python lambda它只是一个表达式,而def则是一个语句。lambda表达式运行起来像一个函数,当被调用时创建一个框架对象

发表回复