Lambda函数

适用于单行函数. 建议用生成式替代 map()/filter() 与 lambda 的组合.

定义:

lambda 定义匿名函数, 不像语句那样定义具名函数.

优点:

方便.

缺点:

比局部函数更难理解和调试. 缺失函数名会导致调用栈晦涩难懂. 由于 lambda 函数只能包含一个表达式, 因此其表达能力有限.

结论:

适用于单行函数. 如果函数体超过60-80个字符, 最好还是定义为常规的嵌套函数.

对于乘法等常见操作, 应该用 operator 模块中的函数代替lambda函数. 例如, 推荐用 operator.mul 代替 lambda x, y: x * y .