【发布时间】:2011-04-24 03:01:43
【问题描述】:
rec_fn = lambda: 10==11 or rec_fn()
rec_fn()
我是 Python 新手,并试图了解 lambda 表达式的工作原理。有人可以解释这个递归是如何工作的吗?我能够理解 10==11 将是“假”,这就是 rec_fn 将如何被一次又一次地递归调用。
但我无法得到的是这种看似新的编写 lambda 表达式的方式。
lambda x: x+y 在未命名函数中有参数“x”时发生了什么?
还有,为什么是
rec_fn() = lambda: .... // a syntax error
rec_fn = lambda: .... //syntactically correct - WHY?
什么是rec_fn?是函数还是变量?
【问题讨论】:
-
谢谢大家!你的解释很棒:D 但在我接受答案之前,我需要知道 lambda 内部发生了什么。条件构造“或”如何工作?这有点像 if/else 语句。 “如果不是这个,那就执行那个”之类的事情