Als ich es bemerkte einmal ausgeführt wird, der relevante Teil der docs The for statement:
for_stmt ::= "for" target_list "in" expression_list ":" suite
["else" ":" suite]
Die Ausdrucksliste einmal ausgewertet wird; es sollte ein iterierbares Objekt ergeben. Ein Iterator wird für das Ergebnis der expression_list erstellt. Die Suite wird dann für jedes vom Iterator bereitgestellte Element in der Reihenfolge aufsteigender Indizes einmal ausgeführt. Jedes Element wird der Zielliste anhand der Standardregeln für Zuweisungen zugewiesen, und dann wird die Suite ausgeführt. Wenn die Elemente erschöpft sind (was sofort der Fall ist, wenn die Sequenz leer ist), wird die Suite in der else-Klausel, falls vorhanden, ausgeführt, und die Schleife wird beendet.
Emphasis meins.
Ja, es wird einmal ausgeführt. Erstellt Python einen neuen Bereich für jede Iteration in 'for i in range (100) .. '? –
Um sicher zu gehen, geben Sie zuerst die Rückgabe von 'c.Execute (...)' an eine Variable und dann in Ihre Schleife: 'für Zeile in stocksCollection: Zeile drucken '. So sollte es keinen Zweifel geben. – gmiley