Zugriff auf nichtlokale Variablen in Abschlüssen in Python 2.x
Python 2.x fehlt das Schlüsselwort nonlocal, was Fragen zum Zugriff auf nichtlokale Variablen aufwirft in Verschlüssen. Innere Funktionen können von Natur aus nichtlokale Variablen lesen, ein erneutes Binden dieser Variablen ist jedoch nicht zulässig.
Problemumgehungen für den Zugriff auf nichtlokale Variablen
Trotz dieser Einschränkung können Sie Problemumgehungen anwenden:
Beispiel für die Verwendung eines Wörterbuchs
Betrachten Sie den folgenden Codeausschnitt, basierend auf dem Beispiel von Wikipedia:
<code class="python">def outer(): data = {'y': 0} def inner(): data['y'] += 1 return data['y'] return inner f = outer() print(f(), f(), f()) # prints 1 2 3</code>
In diesem Beispiel werden die Wörterbuchdaten zum Speichern der nichtlokalen Variablen y verwendet. Die innere Funktion kann den Wert von y erhöhen und den aktualisierten Wert zurückgeben, ohne die Einschränkung beim erneuten Binden nichtlokaler Variablen zu verletzen.
Das obige ist der detaillierte Inhalt vonZugriff auf nichtlokale Variablen in Python 2.x: Wie können die Einschränkungen umgangen werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!