在赋值之前,已经引用
今天看了 网上一个代码 对这个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。
先暂时这么想吧。。。要是以后知道真正的答案 再来 填坑