Detaillierte Erläuterung der Beispielanalyse für die Verwendung des Python-Bereichs

高洛峰
Freigeben: 2017-03-07 15:53:58
Original
1188 Leute haben es durchsucht

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)
Nach dem Login kopieren

Ausgabeergebnis des Programms:

After local assignment: test spam
After nonlocal assignment: nonlocal spam
After global assignment: nonlocal spam
In global scope: global spam
Nach dem Login kopieren

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())
Nach dem Login kopieren

Laufergebnisse:

1
2
3
Nach dem Login kopieren

Ausführlichere Erläuterungen zu Beispielen für die Verwendung des Python-Bereichs und verwandte Artikel finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage