Почему присвоение моим глобальным переменным не работает в Python?
У меня ужасные проблемы, пытаясь понять правила Python Scoping.
С помощью следующего скрипта:
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 для определения области глобальных переменных?