在函数中使用一个变量之前,必须先对其进行赋值。通常发生这种错误的原因是函数中的变量与全局变量同名,从而导致函数试图使用未初始化的本地变量而不是全局变量。解决这个问题的方法是在函数内部使用global关键字声明或删除与全局变量同名的本地变量。例如:
x = 10
def my_func():
global x # 声明x是全局变量
print(x)
x = 5 # 重新赋值全局变量x
my_func()
print(x) # 输出:5
或者:
x = 10
def my_func():
x = None # 删除本地变量x
print(x)
x = 5 # 在本地变量x上重新赋值
my_func()
print(x) # 输出:10