<p>我很难理解python的作用域规则。</p>
<p>使用以下脚本:</p>
<pre><code>a = 7
def printA():
print "Value of a is %d" % (a)
def setA(value):
a = value
print "Inside setA, a is now %d" %(a)
print "Before setA"
printA()
setA(42)
print "After setA"
printA()
</code></pre>
<p>提供意外的(给我的)输出:</p>
<pre>
Before setA
Value of a is 7
Inside setA, a is now 42
After setA
Value of a is 7
</pre>
<p>我希望最后一次打印的a值是42,而不是7。关于Python的全局变量作用域规则,我遗漏了什么?</p>