Heim >Backend-Entwicklung >Python-Tutorial >Wie löst man Pythons UnboundLocalError: Globale vs. lokale Variablen?

Wie löst man Pythons UnboundLocalError: Globale vs. lokale Variablen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-27 02:37:10796Durchsuche

How to Solve Python's UnboundLocalError: Global vs. Local Variables?

UnboundLocalError in Python: Probleme mit dem Variablenbereich lösen

Die Fehlermeldung „UnboundLocalError: lokale Variable 'Var1' vor Zuweisung referenziert“ zeigt an, dass a Auf eine lokale Variable innerhalb einer Funktion wird zugegriffen, bevor ihr ein Wert zugewiesen wird. Im bereitgestellten Code ist die Variable „Var1“ nicht im Rahmen der „Funktion()“ definiert, sondern wird in den bedingten Anweisungen und Zuweisungsanweisungen innerhalb der Funktion verwendet.

Um dieses Problem zu beheben, Es ist notwendig, die Variablen „Var1“ und „Var2“ als globale Variablen innerhalb der Funktion zu deklarieren. Globale Variablen werden auf Modulebene definiert und können innerhalb von Funktionen aufgerufen werden. Um diese Variablen als global zu deklarieren, fügen Sie die folgende Zeile am Anfang der Funktion hinzu:

global Var1, Var2

Durch die Deklaration der Variablen als global erkennt der Python-Interpreter, dass sie stattdessen aus dem Bereich der Modulebene aufgelöst werden sollten der Erstellung lokaler Kopien innerhalb der Funktion. Dadurch kann die Funktion wie vorgesehen auf die Variablen „Var1“ und „Var2“ verweisen und diese ändern.

Hinweis: Die Verwendung globaler Variablen innerhalb von Funktionen sollte nach Möglichkeit vermieden werden, da dies zu Problemen führen kann zu verwirrendem und fehleranfälligem Code. Eine bessere Vorgehensweise besteht darin, Variablen vom Aufrufer explizit als Parameter an den Angerufenen zu übergeben oder sie als Ergebnisse zurückzugeben.

Das obige ist der detaillierte Inhalt vonWie löst man Pythons UnboundLocalError: Globale vs. lokale Variablen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Vorheriger Artikel:Anfängerleitfaden für KurseNächster Artikel:Anfängerleitfaden für Kurse