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