所以问题是这段代码:
var = 'global'
def test():
print(var)
test()
打印出来
global
正如所料。
但是,这段代码:
var = 'global'
def test():
print(var)
var = 'local'
print(var)
test()
我打算打印出来:
global
local
但它刚刚返回错误:
UnboundLocalError: local variable 'var' referenced before assignment
为什么程序不使用var作为全局变量,然后将var指定为局部变量后,使用本地值?