Цикл for, безумовно, більш пітонічний, оскільки використовує вбудовану функціональність вищого рівня Python, щоб чіткіше та коротше передати те, що ви робите. Накладні витрати на діапазон проти xrange та присвоєння невикористовуваної i
змінної пов'язані з відсутністю такого оператора, як твердження Verilog repeat
. Основна причина дотримуватися рішення щодо діапазону полягає в тому, що інші способи є більш складними. Наприклад:
from itertools import repeat
for unused in repeat(None, 10):
del unused
print "This is run 10 times"
Використання повторення замість діапазону тут менш зрозуміле, оскільки це не така відома функція, і більш складне, оскільки вам потрібно імпортувати її. Основними порадниками стилів, якщо вам потрібна довідка, є PEP 20 - Zen of Python та PEP 8 - Посібник із стилю для коду Python .
Ми також зауважимо, що версія для діапазону є явним прикладом, що використовується як в мовному довіднику, так і в підручнику , хоча в такому випадку використовується значення. Це означає, що форма обов’язково буде більш звичною, ніж розширення стилю C для циклу.