Итераторы, генераторы и декораторы: что это такое, как работают?

Итератор последовательно выдаёт элементы, генератор удобно реализует такой обход через yield, а декоратор преобразует функцию или класс. Эти механизмы решают разные задачи и могут сочетаться.

Короткий ответ

Что ответить на собеседовании

Итератор последовательно выдаёт элементы, генератор удобно реализует такой обход через yield, а декоратор преобразует функцию или класс. Эти механизмы решают разные задачи и могут сочетаться.

Подробный разбор

Ответ с пояснениями

Итератор последовательно выдаёт элементы, генератор удобно реализует такой обход через yield, а декоратор преобразует функцию или класс. Эти механизмы решают разные задачи и могут сочетаться.

Итератор имеет next и завершается StopIteration. Генератор сохраняет локальное состояние между запросами элемента. Декоратор получает объект и возвращает замену, например обёртку для логирования. Ленивый генератор не следует путать с повторно обходимым списком, а декоратор — с самим вызовом обёрнутой функции.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее