Глава 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()
Открыть ноутбук →