Heim > Backend-Entwicklung > Python-Tutorial > Warum löst mein Python 3-Code einen „UnboundLocalError' aus?

Warum löst mein Python 3-Code einen „UnboundLocalError' aus?

Barbara Streisand
Freigeben: 2025-01-03 16:27:40
Original
876 Leute haben es durchsucht

Why Does My Python 3 Code Throw an `UnboundLocalError`?

Unaufgelöste Variablenreferenz: Den „UnboundLocalError“ in Python 3 verstehen

Der bereitgestellte Codeausschnitt ist auf die Ausnahme „UnboundLocalError“ gestoßen, was darauf hinweist Es referenziert eine lokale Variable ('Var1'), bevor es ihr einen Wert zuweist. Dies tritt auf, wenn der Variablenname innerhalb einer Funktion deklariert wird, ihm jedoch vor seiner Verwendung kein Wert zugewiesen wird.

Um diesen Fehler zu beheben, befassen wir uns eingehender mit den Nuancen des Variablenbereichs in Python 3. Während die Code zunächst „Var1“ als globale Variable deklariert, erstellt die Zuweisungsanweisung „Var1 -= 1“ innerhalb der Funktion eine lokale Variable namens „Var1“. Dadurch wird die lokale Variable der Funktion geändert, nicht die außerhalb deklarierte globale Variable.

Um globale Variablen innerhalb einer Funktion zu verwenden, stellt Python 3 das Schlüsselwort „global“ bereit. Durch das Hinzufügen von „global Var1, Var2“ am Anfang der Funktion geben wir ausdrücklich an, dass wir beabsichtigen, die globalen Variablen mit den Namen „Var1“ und „Var2“ innerhalb des Funktionsumfangs zu referenzieren. Dies verhindert die Erstellung lokaler Variablen mit demselben Namen und löst somit den „UnboundLocalError“ auf.

In Python 3 gibt es die „nonlocal“-Anweisung auch zum Manipulieren von Variablen, die in einem umschließenden Bereich definiert sind. Beim Verschachteln von Funktionen wird jedoch typischerweise „nicht lokal“ verwendet, was im bereitgestellten Code nicht der Fall ist.

Für weitere Einblicke in den Variablenbereich und die Fehlerbehandlung dienen die Python-Website und die zugehörige Dokumentation als wertvolle Ressourcen. Durch das Verständnis der Prinzipien der Variablenreferenzierung und die Nutzung der entsprechenden Schlüsselwörter können Python-Entwickler den Variablenbereich effektiv verwalten und solche Laufzeitfehler vermeiden.

Das obige ist der detaillierte Inhalt vonWarum löst mein Python 3-Code einen „UnboundLocalError' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage