方法和lambda之间的Python差异

时间:2017-09-29 02:13:36

标签: python lambda

方法和lambda之间可能存在的差异(差异)是什么?我有一个身份功能,并且奇怪它是如何定义的呢?

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

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

1 个答案:

答案 0 :(得分:0)

两者都做同样的事,但两种方法都不是;第一个是函数,第二个是通过将其赋值给变量来命名的匿名函数。

来自评论:

  

性能差异可以忽略不计,但更重要的是,lambda   函数只支持表达式,其中def语句可以有   他们身体中任何复杂陈述的组合。唯一的目的   lambda是为了方便起见,通常作为更高阶的参数   函数,如果你将lambda函数赋给一个名字,那就否定了   他们唯一的用例。实际上,虽然它是允许的,但它是明确的   建议不遵守PEP8风格指南   ~juanpa.arrivillaga