有这个代码:
>>> if True:
... a = 4
...
>>> print a
4
为什么变量a在if块之后仍然存在?阻塞时不应该被销毁吗?
Python 变量在afunction
或. 语句中初始化的变量,语句和语句在if/while/for语句外都可以使用class
module
if
while
for
这与许多其他语言不同,在这些语言中,访问变量会因为超出范围而引发异常
请注意,如果 if/while/for 语句为 false 并且不执行,a
例如不会被初始化,它会抛出如下错误:
>>> if False:
... a = 5
...
>>> print a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined