Por que atribuir às minhas variáveis globais não funciona em Pytho
Estou com um problema terrível tentando entender as regras de escopo do pytho
Com o seguinte script:
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()
Dá a saída inesperada (para mim) de:
Before setA Value of a is 7 Inside setA, a is now 42 After setA Value of a is 7
Onde eu esperaria que a última impressão do valor de a fosse 42, não 7. O que estou perdendo nas regras de escopo do Python para o escopo das variáveis globai