Possible Duplicate:
Using global variables in a function other than the one that created themNo se puede incrementar variable global de la función en Python
Tengo el siguiente guión:
COUNT = 0
def increment():
COUNT = COUNT+1
increment()
print COUNT
sólo quiero incrementa el contador de variable global, pero esto me da el siguiente error:
Traceback (most recent call last):
File "test.py", line 6, in <module>
increment()
File "test.py", line 4, in increment
COUNT = COUNT+1
UnboundLocalError: local variable 'COUNT' referenced before assignment
¿Por qué es así?
El uso de 'global' entre los principiantes suele ser un signo de mal diseño. –
sin usar 'global' no puede modificar el valor de una variable global dentro de una función, solo puede usar su valor dentro de la función. Pero si quiere asignarle un nuevo valor, primero debe usar la palabra clave 'global'. –
Esto debería responder a su pregunta: http://stackoverflow.com/questions/423379/using-global-variables-in-a-function-other-than-the-one-thehatcreated-them Parece que Python no lo hará cambie el valor global a menos que especifique que es lo que desea hacer. –