Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 Python 中玩弄 lambda,我发现以下代码在 Python 2.7.3 中是合法的并返回 lambda:
x = lambda: 1 if x else 2
为什么 lambda 在以这种方式使用时会定义 x?
编辑:Python 语法对我来说显然太难了,请参阅接受的答案……</p>
它没有。赋值x = [any expression]定义x为[any expression]。在这种情况下,表达式是lambda: 1 if x else 2,它的计算结果是一个没有参数的函数对象,它是x成立的。
x = [any expression]
x
[any expression]
lambda: 1 if x else 2