方法和lambda之间的差异



方法和lambda之间可能有什么可能的niuans(差异)?我有一个身份功能,想知道它如何定义它有很大的不同吗?

def ident(x): return x
ident = lambda x: x

这些在功能上肯定是相同的,但是它们的性能或其他方面是否有所不同?

都做相同的操作,但方法都不是。第一个是通过将其分配给变量来命名的函数,第二个函数,一个匿名函数。

从评论中:

性能差异可以忽略不计,但更重要的是,lambda功能仅支持表达式,def语句可以具有其体内复杂陈述的任何组合。唯一的目的Lambda是为了方便的,通常是为了提高高级函数,如果将lambda函数分配给一个名称,则否定他们唯一的用例。确实,尽管允许它明确由PEP8样式指南推荐。
〜juanpa.arrivillaga

最新更新