Die Beispiele in diesem Artikel beschreiben die Verwendung globaler Python-Variablen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Globale Variablen entsprechen nicht dem Geist der Parameterübergabe, daher verwende ich sie selten, es sei denn, ich definiere Konstanten. Heute hat ein Kollege eine Frage zu globalen Variablen gestellt und ich habe herausgefunden, dass es eine Möglichkeit gibt, dies zu tun.
Der Ablauf ist ungefähr wie folgt:
CONSTANT = 0 def modifyConstant() : print CONSTANT CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
Die Laufergebnisse sind wie folgt:
UnboundLocalError: Lokale Variable „CONSTANT“, auf die vor der Zuweisung verwiesen wird
Es scheint, dass die globale Variable in der Funktion „modifyConstant“ zu einer lokalen Variablen wird. Es scheint, dass die globale Variable keine Wirkung hat?
Nehmen Sie einige Änderungen vor:
CONSTANT = 0 def modifyConstant() : print CONSTANT #CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
Es scheint, dass innerhalb der Funktion auf globale Variablen zugegriffen werden kann.
Das Problem besteht also darin, dass Python CONSTANT als lokale Variable betrachtet, da die Variable CONSTANT innerhalb der Funktion geändert wird und CONSTANT vor CONSTANT = 1 gedruckt wird, sodass dieser Fehler natürlich auftritt.
Wie kann man also auf globale Variablen innerhalb einer Funktion zugreifen und diese ändern? Variablen sollten mit dem Schlüsselwort global (ein bisschen wie PHP) geändert werden:
CONSTANT = 0 def modifyConstant() : global CONSTANT print CONSTANT CONSTANT += 1 return if __name__ == '__main__' : modifyConstant() print CONSTANT
So einfach ist das!
Leser, die an weiteren Python-bezogenen Inhalten interessiert sind, können sich die speziellen Themen auf dieser Website ansehen: „Zusammenfassung der Python-Fähigkeiten zur Datei- und Verzeichnisoperation“, „Zusammenfassung der Python-Bildoperationsfähigkeiten“, „Python-Datenstruktur- und Algorithmus-Tutorial“. ", „Python-Socket-Programmierung“ – Zusammenfassung der Fähigkeiten“, „Zusammenfassung der Fähigkeiten zur Nutzung von Python-Funktionen“, „Zusammenfassung der Fähigkeiten zur Python-String-Operation“, „Zusammenfassung der Fähigkeiten zur Python-Codierungsoperation“ und „Python-Einführung und fortgeschrittenes klassisches Tutorial“
Ich hoffe, dass dieser Artikel für alle in der Python-Programmierung hilfreich sein wird.