Heim >Backend-Entwicklung >Python-Tutorial >Warum bleiben Pythons „for'-Schleifenkontrollvariablen im Gültigkeitsbereich, nachdem die Schleife abgeschlossen ist?
Während die Gültigkeitsbereichsregeln von Python allgemein verstanden werden, ist die Entwurfsentscheidung für die Beibehaltung der Steuervariablen in Der Gültigkeitsbereich nach dem Verlassen der Schleife bleibt für manche ein Rätsel. Betrachten Sie den folgenden Code:
for foo in xrange(10): bar = 2 print(foo, bar)
Dies gibt (9, 2) aus, was möglicherweise kontraintuitiv erscheint, da „foo“ die Schleife steuert und „bar“ darin definiert ist. Es ist verständlich, warum auf „bar“ außerhalb der Schleife zugegriffen werden kann, aber die Beständigkeit von „foo“ gibt Anlass zur Sorge.
Die wahrscheinliche Erklärung liegt in der grammatikalischen Einfachheit. Für die Zuweisung zu Variablen innerhalb von Schleifen ist keine eindeutige Definition des Gültigkeitsbereichs erforderlich, da Zuweisungen den Gültigkeitsbereich implizieren. Das Deklarieren von Variablen innerhalb bestimmter Bereiche ist in Python keine Praxis. Das Schlüsselwort „global“ gibt explizit globale Bereichszuweisungen an.
Dieses Design hat die Akzeptanz nicht wesentlich behindert, und Benutzer haben die Möglichkeit angenommen, außerhalb der Schleife sowohl auf Steuer- als auch auf definierte Variablen zuzugreifen. Es vermeidet die Komplexität der Festlegung des Umfangs und der Mehrdeutigkeit und vereinfacht die Lesbarkeit und Entwicklung des Codes.
Das obige ist der detaillierte Inhalt vonWarum bleiben Pythons „for'-Schleifenkontrollvariablen im Gültigkeitsbereich, nachdem die Schleife abgeschlossen ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!