Die for-Schleife ist definitiv pythonischer, da sie die übergeordnete integrierte Funktionalität von Python verwendet, um klarer und präziser zu vermitteln, was Sie tun. Der Overhead von range vs xrange und das Zuweisen einer nicht verwendeten i
Variablen ergibt sich aus dem Fehlen einer Anweisung wie der von Verilog repeat
. Der Hauptgrund, sich an die for range-Lösung zu halten, ist, dass andere Wege komplexer sind. Zum Beispiel:
from itertools import repeat
for unused in repeat(None, 10):
del unused # redundant and inefficient, the name is clear enough
print "This is run 10 times"
Die Verwendung von Wiederholung anstelle von Bereich ist hier weniger klar, da es sich nicht um eine so bekannte Funktion handelt, und komplexer, weil Sie sie importieren müssen. Die wichtigsten Styleguides, wenn Sie eine Referenz benötigen, sind PEP 20 - Das Zen von Python und PEP 8 - Styleguide für Python-Code .
Wir stellen außerdem fest, dass die for range-Version ein explizites Beispiel ist, das sowohl in der Sprachreferenz als auch im Lernprogramm verwendet wird , obwohl in diesem Fall der Wert verwendet wird. Dies bedeutet jedoch, dass die Form vertrauter ist als die while-Erweiterung einer for-Schleife im C-Stil.