Zugriffsbereich der Variablen in for-Schleife

8

Ich habe die SO durchsucht, bevor ich diese Frage hier und hoffentlich poste das ist kein Duplikat.

%Vor%

Die Ausgabe ist wie folgt:

  

8

Ich kam aus C ++ World und konnte nicht herausfinden, warum idx immer noch im Bereich ist, wenn Der Code ist außerhalb der for-Schleife?

Danke

    
q0987 10.10.2011, 15:41
quelle

1 Antwort

10

for loop erstellt keinen Bereich. Dies ist der Grund.

In diesem speziellen Code ist idx eine lokale Variable der Funktion print_me .

Aus den Dokumenten :

Die folgenden Blöcke sind:

  • ein Modul
  • ein Funktionskörper
  • eine Klassendefinition

Aktualisieren

Generatorausdrücke haben auch ihre eigenen Bereiche.

As von Python 3.0 List Comprehensions haben auch ihre eigenen Bereiche.

    
ovgolovin 10.10.2011, 15:46
quelle

Tags und Links