a =2
def test():
b = 1
print(a + b)
a = 4
print(a + b)
test()
如以上代码所示, 第一行代码运行报错,原因是“UnboundLocalError: local variable 'a' referenced before assignment” 代码执行不是自上而下吗?在我二次赋值a后,运行错误请问是怎么回事呢?
a =2
def test():
b = 1
print(a + b)
a = 4
print(a + b)
test()
如以上代码所示, 第一行代码运行报错,原因是“UnboundLocalError: local variable 'a' referenced before assignment” 代码执行不是自上而下吗?在我二次赋值a后,运行错误请问是怎么回事呢?
声明 global a 就可以了
a =2
def test():
global a
b = 1
print(a + b)
a = 4
print(a + b)
test()
# Output
3
5