Heim  >  Artikel  >  Backend-Entwicklung  >  Beispielanalyse für die Verwendung globaler Python-Variablen

Beispielanalyse für die Verwendung globaler Python-Variablen

WBOY
WBOYOriginal
2016-08-04 08:55:451315Durchsuche

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.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn