Dieser Artikel stellt Ihnen hauptsächlich die relevanten Informationen zur Deklaration und Analyse der nichtlokalen und globalen Schlüsselwörter in Python vor. Ich glaube, dass sie für alle Freunde, die sie benötigen, einen gewissen Referenzwert haben Lesen Sie es gemeinsam.
1. Globale und nichtlokale Deklarationen in Python
Der folgende Code
a = 10 def foo(): a = 100
wird ausgeführt. Das Ergebnis von foo() a ist immer noch die Zuweisung an die
-Variable
-Funktion . Die Variable ist immer an die lokale Namespace< der Funktion 🎜>, dieses Verhalten kann mit der globalen Anweisung geändert werden.
>>> a 10 >>> def foo(): ... global a ... a = 100 ... >>> a 10 >>> foo() >>> a 100
nicht gefunden werden kann, durchsuchen Sie Globaler Befehlsraum und integrierte Namespaces.
Intern Funktionen können lokale Variablen, die in externen Funktionen definiert sind, nicht neu zuweisen
def countdown(start): n = start def decrement(): n -= 1
def countdown(start): n = start def decrement(): nonlocal n n -= 1
2. Nichtlokale und globale Python-Schlüsselwortanalyse
nonlocal
Zunächst muss klar sein, dass das Schlüsselwort nonlocal im Abschluss definiert ist. Schauen Sie sich bitte den folgenden Code an:x = 0 def outer(): x = 1 def inner(): x = 2 print("inner:", x) inner() print("outer:", x) outer() print("global:", x)
# inner: 2 # outer: 1 # global: 0
x = 0 def outer(): x = 1 def inner(): nonlocal x x = 2 print("inner:", x) inner() print("outer:", x) outer() print("global:", x)
Ergebnis
# inner: 2 # outer: 2 # global: 0
Immer noch das Gleiche, schauen Sie sich ein Beispiel an:
x = 0 def outer(): x = 1 def inner(): global x x = 2 print("inner:", x) inner() print("outer:", x) outer() print("global:", x)
global funktioniert auf Variablen in der gesamten Umgebung, nicht auf Variablen in Funktionsklassen.
# inner: 2 # outer: 1 # global: 2
Zusammenfassung[Verwandte Empfehlungen]
1.
Python kostenloses Video-TutorialPython-Grundlagen-Einführungs-TutorialPython trifft auf Datenerfassungs-Video-TutorialDas obige ist der detaillierte Inhalt vonDetaillierte Analyse von nichtlokalen und globalen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!