2024-10-02 22:29:09 发布
网友
def foo(): m = 3 def bar(): print(m) # code 1 m=4 # code 2 bar() foo()
UnboundLocalError: local variable 'm' referenced before assignment
为什么我要得到UnboundLocalError?我知道bar不能更改m的值,但是bar不应该只得到m的值吗?你知道吗
UnboundLocalError
bar
m
当我分别尝试代码1/code 2时,一切正常。你知道吗
1/code 2
由于内部函数bar具有赋值m=4,因此m被视为整个函数的局部变量。但在调用print(m)时,m尚未创建。所以你得到了错误UnboundLocalError: local variable 'm' referenced before assignment。你知道吗
m=4
print(m)
要修复它,可以将m声明为全局变量。或者避免在bar内赋值
由于内部函数
bar
具有赋值m=4
,因此m
被视为整个函数的局部变量。但在调用print(m)
时,m
尚未创建。所以你得到了错误UnboundLocalError: local variable 'm' referenced before assignment
。你知道吗要修复它,可以将
m
声明为全局变量。或者避免在bar
内赋值相关问题 更多 >
编程相关推荐