UnboundLocalError: local variable ‘a’ referenced before assignment
报错代码如下:
原因:
变量a为全局变量,在函数testaa22()中企图修改全局变量。因此报错。
注意:可以读取,不能修改
解决办法1:
声明testaa22()内部的变量为全局变量,用global修饰
a = 3
def testaa():
print(a)
def testaa22():
global a
a +=2
print(a)
testaa()
testaa22()
解决办法2:
重新定义局部变量a
a = 3
def testaa():
print(a)
def testaa22():
a = 0
a +=2
print(a)
testaa()
testaa22()