In diesem Artikel wird die Verwendung des Python-Bereichs anhand von Beispielen analysiert. Teilen Sie es als Referenz mit allen:
Jede Programmiersprache hat das Konzept des Variablenbereichs, und Python ist keine Ausnahme. Das Folgende ist eine Codedemonstration des Python-Bereichs:
def scope_test(): def do_local(): spam = "local spam" def do_nonlocal(): nonlocal spam spam = "nonlocal spam" def do_global(): global spam spam = "global spam" spam = "test spam" do_local() print("After local assignment:", spam) do_nonlocal() print("After nonlocal assignment:", spam) do_global() print("After global assignment:", spam) scope_test() print("In global scope:", spam)
Ausgabeergebnis des Programms:
After local assignment: test spam After nonlocal assignment: nonlocal spam After global assignment: nonlocal spam In global scope: global spam
Hinweis: lokale Zuweisungsanweisung ist nicht möglich. Ändern Sie die Spam-Bindung von Scope_test. Die nichtlokale Zuweisungsanweisung ändert die Spam-Bindung von Scope_test und die globale Zuweisungsanweisung ändert die Spam-Bindung auf Modulebene.
Unter diesen ist nonlocal ein neues Schlüsselwort in Python 3.
Sie können auch sehen, dass Spam nicht vor der globalen Zuweisungsanweisung vorgebunden wird.
Zusammenfassung:
Wenn Sie auf die Situation stoßen, im Programm auf globale Variablen zuzugreifen und den Wert der globalen Variablen ändern möchten, können Sie Folgendes verwenden: globales Schlüsselwort, deklarieren Sie diese Variable in der Funktion Ist eine globale Variable
Das Schlüsselwort nonlocal wird verwendet, um äußere (nicht globale) Variablen in Funktionen oder anderen Bereichen zu verwenden.
Das globale Schlüsselwort ist leicht zu verstehen, und das Gleiche gilt im Allgemeinen auch für andere Sprachen. Hier ist ein weiteres nicht-lokales Beispiel:
def make_counter(): count = 0 def counter(): nonlocal count count += 1 return count return counter def make_counter_test(): mc = make_counter() print(mc()) print(mc()) print(mc())
Laufergebnisse:
1 2 3
Ausführlichere Erläuterungen zu Beispielen für die Verwendung des Python-Bereichs und verwandte Artikel finden Sie auf der chinesischen PHP-Website!