UnboundLocalError: local variable ‘var’ referenced before assignment
赋值前引用的局部变量“var”
错误示例1
var = 10
def f1():
print(var)
var = 2
print(var)
f1()
var为全局变量时,在函数中对其修改且未声明。
解决方法 :
调用前声明全局变量 global var
错误示例2
def f2():
var = 0
def f3():
var *= 0
return var
return f3()
f2()
var为f2中定义的局部变量,在嵌套函数中修改其值且未声明。
解决方法:
在嵌套函数中提前声明 nonlocal var