我试过搜索这个,但我不太明白。我遇到了这个错误,所以我形成了一个简单的例子。你知道吗
def test():
global a
a = 0
a+=1
def test2():
a+=1
print (a)
inp = input('a?')
if inp == 'a':
test()
test2()
当我输入a
时。我希望代码输出2。但是,我得到了这个错误UnboundLocalError: local variable 'a' referenced before assignment
。当我四处搜索时,我发现您需要使用global
,但我已经在使用它了。你知道吗
所以我不明白。有人能简单地解释一下我做错了什么吗? 谢谢。你知道吗
1)您可以返回修改后的值,如下所示:
2)也可以使用类:
选项2的用法:
global
声明只适用于该函数。因此test()
中的声明意味着在该函数中使用变量a
将引用全局变量。它对其他函数没有任何影响,因此如果test2
也希望访问全局变量,那么您也需要在那里使用相同的声明。你知道吗相关问题 更多 >
编程相关推荐