【发布时间】:2012-08-29 04:37:41
【问题描述】:
我很好奇 lambda 函数和常规函数(用 def 定义)之间的区别 - 在 python 级别。 (我知道程序员有什么区别以及何时使用它们。)
>>> def a():
return 1
>>> b = lambda: 1
>>> a
<function a at 0x0000000004036F98>
>>> b
<function <lambda> at 0x0000000004031588>
我们可以看到 - python 知道 b 是一个 lambda 函数,a 是一个常规函数。这是为什么?它们to python有什么区别?
【问题讨论】:
-
Python 支持在运行时使用名为“lambda”的构造创建匿名函数(即未绑定名称的函数)。您可以在secnetix.de/olli/Python/lambda_functions.hawk 中查看。这意味着它没有给你函数的名称。
-
@SuryawanshiManoj 这个问题如何让你相信 OP 没有意识到这一点?
-
@Marcin:正如 Simeon Visser 在回答中显示下面的示例,您可以理解 OP 不知道函数的名称