我正在阅读 Wes McKinney 的 Python for Data Analysis,其中有一段我不太明白。下面的代码是一个有效的闭包示例:
def make_watcher():
have_seen = {}
def has_been_seen(x):
if x in have_seen:
return True
else:
have_seen[x] = True
return False
return has_been_seen
Wes 提到要记住的一个技术限制是,虽然您可以改变任何内部状态对象(例如将键值对添加到 dict),但您不能在封闭函数范围内绑定变量。有人可以举例说明他所说的技术限制是什么意思吗?我不确定我是否可以想象一个例子。