此问题在此处已有答案:
UnboundLocalError on local variable when reassigned after first use(13个答案)
Using global variables in a function(24个答案)
1年前关闭。
我的代码
x = 10
def fun():
x = x + 2
print(x)
fun()
print(x)
和输出错误
未绑定本地错误:赋值前引用了局部变量“x”
此问题在此处已有答案:
UnboundLocalError on local variable when reassigned after first use(13个答案)
Using global variables in a function(24个答案)
1年前关闭。
x = 10
def fun():
x = x + 2
print(x)
fun()
print(x)
未绑定本地错误:赋值前引用了局部变量“x”
3条答案
按热度按时间3zwtqj6y1#
你必须在def fun()中传递全局变量
x
,因为fun()中没有赋值名为x的变量。代码如下:输出
或
您也可以简单地传递一个参数,但这会使x的值有所不同:
输出
hgqdbh6s2#
你要在函数
fun()
中修改的变量x
是全局作用域,因此你不能在函数中这样访问它。但是,你可以用途:追加
global x
将允许函数修改全局范围内的变量x
。gzjq41n43#
你没有给予x作为函数的参数,这就是原因。