Глава 10 · Немного автоматизации!
Волшебные циклы! Циклы for
Наконец-то настоящая автоматизация: вместо повторения кода вручную — просим Python повторить его самостоятельно.
Волшебные циклы!
Вспомните квадрат и шестиугольник из главы 6 — каждый состоял из одинаковых блоков команд, повторённых вручную. Циклы — это способ сказать Python «повтори это N раз» вместо того, чтобы копировать код руками.
Циклы for
Самый частый вид цикла в Python — for. Вместе с
range() он умеет повторить блок кода заданное число раз:
cikl_for.py
for i in range(5):
print(i)
range(5) генерирует числа от 0 до 4 (пять чисел, не включая
5) — i на каждом шаге принимает следующее из них.
range() с разными аргументами
range(5) — от 0 до 4. range(2, 8) — от 2 до 7. range(0, 10, 2) — от 0 до 8 с шагом 2: 0, 2, 4, 6, 8.Когда переменная цикла не нужна
Если само число повторов важно, а не значение счётчика — по традиции его называют
_ (нижнее подчёркивание), сигнализируя «это значение
сознательно не используется»:
Квадрат из главы 6: 8 строк → 2 строки
Без цикла (глава 6)
artist.forward(100)
artist.right(90)
artist.forward(100)
artist.right(90)
artist.forward(100)
artist.right(90)
artist.forward(100)
artist.right(90)
С циклом for
for _ in range(4):
artist.forward(100)
artist.right(90)
Что использовать сегодня: цикл
for. Он не «современнее» в смысле версии Python — циклы существуют с самых первых версий языка, — но именно ради него стоило дочитать до этой главы: то же самое поведение, в 4 раза короче, и легко изменить число повторов одной цифрой.Практика в Jupyter Notebook
10-01-cikly-for.ipynb · цикл for и range()