1. lambda是一个表达式,而不是一个语句
2. lambda是只有一行的简单表达式,并不能扩展成一个多行的代码块
使用场景:
1. 一个小的功能函数,只需要一行就能完成,且只会被调用一次
2. 编程中与高阶函数联合使用
实际开发中,lambda更多的是与map、filter、reduce等高阶函数搭配使用,因为这些函数中需要接收函数对象作为参数,使用lambda达到了既定义函数又传递函数的目的,比如map(lambda x: x ** 2, range(5)),这里的lambda x: x ** 2先定义函数,然后将此函数对象作为参数传递给map;如果是def则需要首先在外部定义这个函数,而不能在map函数中直接通过def来定义,map(def..., range(5)),Python不允许这样的语法。