擅长:python、mysql、java
<p>通过告诉Python在全局字典中查找变量并引用它,可以从函数内部更改全局变量。你可以在变量名前加上“global”。考虑一下:</p>
<pre><code>a=1
def foo():
global a
a=a+1
print a
</code></pre>
<p>上面的代码应该打印2。但是这是一个不好的做法。使用函数的原因之一是具有局部逻辑和局部变量范围。使用全局变量与这种推理相矛盾</p>
<p>考虑一下:</p>
<pre><code>variableToReturn=""
def setVariable(variable):
variableToReturn = variable
print globals()
print
print locals()
def getVariable():
return variableToReturn
setVariable("hi")
x = getVariable()
print (x)
</code></pre>
<p>函数内部的打印将告诉您问题所在。它们分别打印出全局范围和局部范围</p>