在赋值之前,已经引用
今天看了 网上一个代码 对这个error 有了一点新的体会
val=9
def test(flag):
if flag:
val = 1
else:
print('fuck')
return val
test(0)当时我觉得 这个 不会error 因为看上去 在赋值 之前 没有引用val 啊
但是他确实错了 。
我个人对此的理解是 因为假如 flag是 True 那么 val 是局部变量 flag是False 的话 那么val又是全局变量 所以电脑搞不清了 所以 出现error。
先暂时这么想吧。。。要是以后知道真正的答案 再来 填坑
本文通过一个具体的Python代码示例探讨了局部变量与全局变量在不同条件下的引用问题,并解释了为何会出现NameError错误。

1095





