Grundlegendes zum nichtlokalen Schlüsselwort in Python 2.x
In Python-Versionen vor 3.0 ist das nichtlokale Schlüsselwort nicht verfügbar. Dies bedeutet jedoch nicht, dass Sie innerhalb von Abschlüssen nicht auf nichtlokale Variablen zugreifen können.
Nichtlokale Variablen lesen
In Python 2.x können innere Funktionen weiterhin nichtlokale Variablen lesen Variablen, aber sie können sie nicht erneut binden. Dies bedeutet, dass Sie auf den Wert der Variablen zugreifen, ihn aber nicht ändern können.
Umgehung der Einschränkung
Um diese Einschränkung zu überwinden, können Sie eine Problemumgehung mithilfe eines Wörterbuchs anwenden. Speichern Sie Ihre nichtlokalen Daten im Wörterbuch, und dann können innere Funktionen das Objekt, auf das sich die Daten beziehen, ohne erneute Bindung manipulieren.
Betrachten Sie zum Beispiel das Beispiel aus Wikipedia:
<code class="python">def outer(): d = {'y': 0} def inner(): d['y'] += 1 return d['y'] return inner f = outer() print(f(), f(), f()) # Prints 1 2 3</code>
In diesem Beispiel , kann die innere Funktion auf die im Wörterbuch „d“ gespeicherte Variable „y“ zugreifen. Obwohl die Variable „y“ selbst nicht geändert werden kann, kann ihr Wert innerhalb der inneren Funktion erhöht werden.
Das obige ist der detaillierte Inhalt vonWie kann ich in Python 2.x auf nichtlokale Variablen zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!