我正在阅读this page,我在Python文档中找到了following example code,但我并不完全了解结果是如何产生的。
示例:
>>> def make_incrementor(n):
... return lambda x: x + n
...
>>> f = make_incrementor(42)
>>> f(0)
42
>>> f(1)
43
我不完全理解的是,当x
未在函数内设置时,数字42如何增加到43。
根据我的理解,对f
的每次调用就像调用方法的新实例一样,但它不会那样行事。
问题:
f
的电话是这样的:f = make_incrementor(42)
,但其他电话不是?x
以便将作为参数传递给函数的每个数字添加到它?