Possible Duplicate:
Using global variables in a function other than the one that created themkann nicht globalen Variable von der Funktion in Python
erhöht habe ich folgendes Skript:
COUNT = 0
def increment():
COUNT = COUNT+1
increment()
print COUNT
ich nur globales Variable COUNT erhöhen will, aber das gibt mir die folgende Fehlermeldung:
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
Warum ist es so?
Die Verwendung von 'global' unter Anfängern ist normalerweise ein Zeichen für schlechtes Design. –
Ohne 'global' zu verwenden, können Sie den Wert einer globalen Variablen innerhalb einer Funktion nicht ändern. Sie können den Wert nur innerhalb der Funktion verwenden. Aber wenn Sie ihm einen neuen Wert zuweisen möchten, müssen Sie zuerst das Schlüsselwort 'global' verwenden. –
Dies sollte Ihre Frage beantworten: http://stackoverflow.com/questions/423379/using-global-variables-in-a-function-other-than-the-one-that-created-them Sieht aus wie Python nicht Ändern Sie den globalen Wert, wenn Sie nicht angeben, dass dies der Fall ist. –