2024-10-02 04:36:29 发布
网友
有这样的代码:
>>> if True: ... a = 4 ... >>> print a 4
为什么变量a在if块之后仍然有效?当blockif结束时,不应该销毁它吗?在
Python变量的作用域在function、class或module内。在if语句、while语句和for语句中初始化的变量可在if/while/for语句之外使用
function
class
module
if
while
for
这与许多其他语言不同,在这些语言中,访问变量会因为变量超出范围而引发异常
请注意,如果if/while/for语句为false且未执行,例如,a将不会初始化,它将引发如下错误:
a
>>> if False: ... a = 5 ... >>> print a Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a' is not defined
Python变量的作用域在
function
、class
或module
内。在if
语句、while
语句和for
语句中初始化的变量可在if/while/for语句之外使用这与许多其他语言不同,在这些语言中,访问变量会因为变量超出范围而引发异常
请注意,如果if/while/for语句为false且未执行,例如,
a
将不会初始化,它将引发如下错误:相关问题 更多 >
编程相关推荐