for e in collections: pass
在for 循环里, 最后一个对象e一直存在在上下文中。就是在循环外面,接下来对e的引用仍然有效。
这里有个问题容易被忽略,如果在循环之前已经有一个同名对象存在,这个对象是被覆盖的。
如果在有代码感知的IDE中, IDE会提示变量是“被重新声明的”, 但运行时却不会出错。
for循环不是闭包,可以使用dis模块分解以下代码可以看到:
x = 5 for x in range(10): pass print x
{{ page.markdown if page else ''}}
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did86912