我真的不明白这些陈述有什么问题。我检查了他们在这里有很多相同的错误帖子,但我找不到明确的答案。任何人都可以在这个问题上解释一下吗?谢谢。几个非常简单的陈述,但为什么它产生UnboundLocalError
myVariable = 10
def printV():
myVariable = myVariable + 10
print("inside", myVariable)
printV()
print("outside", myVariable)
我真的不明白这些陈述有什么问题。我检查了他们在这里有很多相同的错误帖子,但我找不到明确的答案。任何人都可以在这个问题上解释一下吗?谢谢。几个非常简单的陈述,但为什么它产生UnboundLocalError
myVariable = 10
def printV():
myVariable = myVariable + 10
print("inside", myVariable)
printV()
print("outside", myVariable)
问题是该方法不知道myVariable
是什么,因为它在本地没有很好的范围。我建议你这样做。
myVariable = 10
def printV():
global myVariable
myVariable = myVariable + 10
print("inside", myVariable)
printV()
print("outside", myVariable)
'global myVariable'在顶部不起作用。全局/本地/非本地范围的区别只存在于功能中,而不是在模块层面。 –
编辑并感谢。 – Hayden
这个问题已被问了很多次(我只是想找到正确的副本)。简短的回答 - 在函数的开始放置'global myVariable'。 –
你是否希望*使用全局变量tho?或者,您可以将'myVariable'传递给'printV()' –