我正在尝试编写一个使用全局变量的简单代码。我收到以下错误
UnboundLocalError:赋值前引用的局部变量"x"
global x
def update():
x = x + 1
x = 0
update()
print(x)
发生错误是因为在函数 update
中,您正在尝试编辑未定义的变量(x
),至少不是本地定义的变量。global
关键字应该在函数内部,因此告诉您所说的x
是在函数外部定义的(因此全局定义):
def update():
global x
x = x + 1
x = 0
update()
print(x)
这将按预期输出 1。
您可以查看有关使用global
关键字的详细答案。