UnboundLocalError: local variable ‘xxx‘ referenced before assignment


原因

在Python函数中调用了某个和全局变量同名的局部变量,导致编译器不知道此时使用的是全局变量还是局部变量

a = 3
def func():
    a+=3

func() 

UnboundLocalError:....

解决方法

在函数中,用global声明该变量为全局变量

a = 3
def func():
    global a
    a+=3

func() 

相关