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() 

 

上一篇:CTFHub技能书解题笔记-文件上传-文件头检查


下一篇:投票系统如何防止一个用户多次投票