【发布时间】:2011-03-16 14:49:10
【问题描述】:
我可以找到很多东西来告诉我什么是 lambda 函数,以及语法如何工作以及什么不是。但除了“酷因素”(我可以在中间调用另一个函数,整洁!)之外,我还没有看到有什么东西可以非常有说服力地说明我为什么真的需要/想要使用它们。
在我见过的大多数示例中,它似乎更像是一种风格或结构选择。并且有点打破了python规则中的“只有一种正确的方法来做某事”。它如何使我的程序更正确、更可靠、更快或更容易理解? (我见过的大多数编码标准都倾向于告诉您避免在一行中使用过于复杂的语句。如果这样更容易阅读,请将其分解。)
【问题讨论】:
-
它不只是与命令式编程语言中的接口或函数/方法签名相对应的函数式编程吗..? (-> 用于指定回调,从而允许创建松散耦合的应用程序/软件组件。)
-
Lambda 是“函数文字”。它们有用且方便的原因与列表和映射文字有用的原因相同(而不是手动执行
append等)。如果您在某些情况下允许其中一种,那么在所有情况下都没有理由反对另一种。 -
可能重复:Python Lambda - why?
-
这能回答你的问题吗? Why are Python lambdas useful?