Codebra
29 января 2026 в 18:33

Урок 46. Итоги раздела «Итераторы в Python»

В этом уроке подведем итоги раздела «Итераторы в Python» курса по Python.
📝

Внимание! На этой странице вы найдете материал урока из архивного курса по Python. Курс был написан в 2024 году и по-прежнему актуален для начинающих разработчиков.

Теоретический материал сохранен в исходном виде, а практические задания с автоматической проверкой вынесены в отдельные интенсивы и задания.

Полный список уроков доступен по тегу Архивный курс по Python и на странице первого урока.

В разделе «Итераторы в Python» поговорили о итераторах, с которыми мы неоднократно встречались на протяжении всего курса. Так же в этом разделе познакомились со списковыми включениями (list/dict/set comprehensions).

Краткий пересказ раздела «Итераторы в Python»

В первом уроке дали определение итераторам и выяснили какие объекты являются итерируемыми.

💡 Определение

Итератор – это объект, который возвращает за один раз, один свой элемент. Каждый вызов итератора возвращает следующий элемент коллекции. В Python любой объект имеющий метод __iter__ является итерируемым.

Во втором уроке познакомились со списковыми включениями (list comprehensions).

💡 Примечание

Иногда списковые включения переводят как «генераторы списков», к сожалению, вводящий в путаницу, так как в Python есть понятие «генераторы».

Мы научились создавать списки более компактно, буквально в одну строку, благодаря списковым включениям. Тоже самое сделали для словарей и множеств.

Новая информация из раздела «Итераторы в Python»

Если объект имеет метод __iter__, то он является итерируемым:

l = [1, 2, 3, 4, 5]
print(dir(l)) # => ['__add__', ... '__init__', '__init_subclass__', '__iter__', ... , 'clear', ... , 'reverse', 'sort']

Можем вручную перебирать элементы итерируемого объекта. Для начала необходимо инициализировать итератор от него:

it = iter(l)

Затем вызывать метод итератора next() до поднятия исключения StopIteration:

print(next(it)) # => 1
...
print(next(it)) # => 5
print(next(it)) # => StopIteration

Общая структура списковых включений следующая:

НОВЫЙ_СПИСОК = [ОПЕРАЦИЯ for ЭЛЕМЕНТ_СПИСКА in СПИСОК]
НОВЫЙ_СПИСОК = [ОПЕРАЦИЯ for ЭЛЕМЕНТ_СПИСКА in СПИСОК if УСЛОВИЕ]

Заключение

В разделе «Итераторы в Python» вы наконец-то познакомились с операторами и выяснили, какие объекты являются итерируемыми. В следующем разделе будем разбираться с написанием собственных функций.

📝

Переходите к следующему уроку курса, а так же не забудьте посмотреть новый материал на Codebra по тегу Python.