Python ungerceLocalError

Python ungerceLocalError

Pythons ungebundenes Elektror scheint sehr verwirrend zu sein, wenn Newcomer von Python es zum ersten Mal erleben. Es ist jedoch ziemlich einfach. Ein ungebundener Verfahren kann aus zwei Gründen in Python auftreten. Einer ist, wenn Sie versuchen, auf den Wert einer Variablen zuzugreifen, bevor sie zugewiesen wird.

Dieser Beitrag fungiert als Leitfaden zur Lösung von Pythons ungebundenem Elektror mit möglichen Lösungen.

Grund 1: Zugriff auf lokale Variable, bevor Sie Wert zuweisen

Wenn der Programmierer nicht in Funktionen oder lokalen Umfangsvariablen arbeitet, gibt der Versuch, auf eine Variable zuzugreifen, bevor sie mit einem Wert initialisiert werden, den folgenden Fehler zurück:

Wenn jedoch der gleiche Fehler mit lokalen Variablen durchgeführt wird, z. B. innerhalb einer Funktion, gibt das Programm den ungebundenen ERROR zurück, was bedeutet, dass es die lokale Variable beim Zugriff nicht finden konnte. Um dies zu demonstrieren, der folgende Code:

Def func ():
Druck (x)
x = 420
func ()

Ausgeführt es wird das folgende Ergebnis erzeugen:

Lösung: Behebung der Zugriffsreihenfolge der lokalen Variablen

Um auf diesen Fehler zu vermeiden, stellen Sie einfach sicher, dass Sie die lokale Variable mit einem gewissen Wert initialisieren, bevor Sie versuchen, darauf zuzugreifen. Der richtige Code für das obige Beispiel ist wie folgt:

Def func ():
x = 420
Druck (x)
func ()

Die Variable "X”Wird ein Wert zugewiesen, bevor er zugegriffen wird. Wenn dieses Programm jetzt ausgeführt wird, wird das folgende Ergebnis am Terminal erzeugt:

Die Ausgabe überprüft, dass Sie den ungebundenen Ungläubigkeitsträger erfolgreich behoben haben, der durch die falsche Reihenfolge des Zugriffs auf die lokale Variable verursacht wurde.

Grund 2: Python kann nicht zwischen lokalen und globalen Variablen unterscheiden

Dieser Grund ist für die meisten neuen Python -Enthusiasten ein wenig verwirrend und im Programm ist nichts logisch falsch. Um diesen Fehler auf nicht konfundierende Weise zu demonstrieren, nehmen wir den folgenden Code für den Zugriff auf eine globale Variable innerhalb einer Funktion:

x = 420
Def func ():
Druck (x)
func ()

Dieser Code erzeugt die fehlerfreie Ausgabe, die wie folgt lautet:

Wenn jedoch eine Zuordnung zur globalen Variablen innerhalb der Funktion erfolgt, wie z. B.:

x = 420
Def func ():
Druck (x)
x = 33
func ()

Es produziert das UnboundLocalError wie unten gezeigt:

Der Grund dafür ist, dass das Programm der Ansicht ist.

Lösung: Verwenden Sie das globale Schlüsselwort, um Verwirrung zu lösen

Der beste Weg, dieses Problem zu lösen. Um diese Lösung zu demonstrieren, nehmen Sie den folgenden Code an:

x = 420
Def func ():
Global x
Druck (x)
x = 30
func ()

Dies erzeugt die folgende Ausgabe am Terminal bei der Ausführung:

Sie haben erfolgreich die Gründe für die ungebundene Wirkung gelernt, zusammen mit seiner Lösung.

Abschluss

Der ungebundene ERROR kann verursacht werden, indem versucht wird, auf eine lokale Variable zuzugreifen, bevor er einen gewissen Wert zugewiesen hat, oder auf andere Weise kann er verursacht werden, wenn das Programm nicht unterscheiden kann, ob der Benutzer auf die lokale Variable oder die globale Variable zugreifen möchte. Beide Gründe wurden zusammen mit ihrer Demonstration und Lösung gründlich in diesem Beitrag erklärt.