适用于单行函数. 建议用生成式替代 map()/filter()
与 lambda
的组合.
定义:
lambda 定义匿名函数, 不像语句那样定义具名函数.
优点:
方便.
缺点:
比局部函数更难理解和调试. 缺失函数名会导致调用栈晦涩难懂. 由于 lambda 函数只能包含一个表达式, 因此其表达能力有限.
结论:
适用于单行函数. 如果函数体超过60-80个字符, 最好还是定义为常规的嵌套函数.
对于乘法等常见操作, 应该用 operator
模块中的函数代替lambda函数. 例如, 推荐用 operator.mul
代替 lambda x, y: x * y
.