2013-04-16 19 views
1

我真的不明白这些陈述有什么问题。我检查了他们在这里有很多相同的错误帖子,但我找不到明确的答案。任何人都可以在这个问题上解释一下吗?谢谢。几个非常简单的陈述,但为什么它产生UnboundLocalError

myVariable = 10 

def printV(): 
    myVariable = myVariable + 10 
    print("inside", myVariable) 

printV() 

print("outside", myVariable) 
+1

这个问题已被问了很多次(我只是想找到正确的副本)。简短的回答 - 在函数的开始放置'global myVariable'。 –

+0

你是否希望*使用全局变量tho?或者,您可以将'myVariable'传递给'printV()' –

回答

1

问题是该方法不知道myVariable是什么,因为它在本地没有很好的范围。我建议你这样做。

myVariable = 10 

def printV(): 
    global myVariable 
    myVariable = myVariable + 10 
    print("inside", myVariable) 

printV() 

print("outside", myVariable) 
+1

'global myVariable'在顶部不起作用。全局/本地/非本地范围的区别只存在于功能中,而不是在模块层面。 –

+0

编辑并感谢。 – Hayden

相关问题