【发布时间】:2021-01-08 02:49:01
【问题描述】:
x=23
def printer():
print(x)
x=x+1
return x
printer()
错误: UnboundLocalError:在赋值之前引用了局部变量“x”
【问题讨论】:
-
在函数内部你没有将 x 声明为全局变量,因此 Python 无法判断你是指全局变量 x 还是一个新的局部变量 x。
x=23
def printer():
print(x)
x=x+1
return x
printer()
错误: UnboundLocalError:在赋值之前引用了局部变量“x”
【问题讨论】:
使用全局关键字解决问题
def printer():
global x
print(x)
x=x+1
return x
【讨论】: