这部分还是从简单的例子开始入手吧!
>>> f =lambda x,y:x+y
>>>f(3,5)
8
>>> f
<function<lambda> at 0x000001D7E26D6400>
从上面的结果可以看出,lambda实现的功能对象f其实是一个函数,这种该函数成为匿名函数。在冒号前面的部分是函数的参数,冒号后面的内容可以理解为函数体。这样,lambda表达式实现的功能一般可以用来代替比较简单(通常是一句)的函数。
>>> f1 =lambda x: 123
>>> f1(1)
123
>>>f1(321)
123
>>> f2 =lambda : 345
>>> f2
<function<lambda> at 0x000001D7E26F5488>
>>> f2()
345
从上面的例子可以看出:一是可以通过lambda表达式实现常量函数;二是设计的匿名函数的参数实际上也是可以省略的。
通过查资料,lambda使用需要注意的地方:
1,这种方式不会提升程序的执行效率;
2,如果使用lambda,尽量不要在里面加入循环。
3,lambda唯一可见的效果是使得程序看上去更加简洁