最佳答案
我在理解 Python 范围规则方面遇到了很大的麻烦。
剧本如下:
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()
给出(对我来说)意外的输出:
Before setA Value of a is 7 Inside setA, a is now 42 After setA Value of a is 7
我希望最后一次打印出 a 的值是42,而不是7。关于 Python 的全局变量作用域规则,我漏掉了什么?