Heim >Backend-Entwicklung >Python-Tutorial >Warum bleiben Pythons „for'-Schleifenkontrollvariablen im Gültigkeitsbereich, nachdem die Schleife abgeschlossen ist?

Warum bleiben Pythons „for'-Schleifenkontrollvariablen im Gültigkeitsbereich, nachdem die Schleife abgeschlossen ist?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-12 15:07:15398Durchsuche

Why Do Python's `for` Loop Control Variables Remain in Scope After the Loop Completes?

Warum bleiben Steuervariablen in Python-for-Schleifen danach im Gültigkeitsbereich?

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!

Stellungnahme:
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