Генераторы в Python: расширенное руководство

Генераторы в Python

Генератор — это функция, которая возвращает итератор и выдаёт элементы по требованию через yield, сохраняя состояние между вызовами next(). Такой подход даёт ленивые вычисления, экономию памяти на больших данных и удобные конвейеры (pipeline) из генераторов. В статье: сравнение с функциями и классами-итераторами, поведение yield и return, StopIteration, генераторные выражения, конвейеры, практические кейсы, расширенные приёмы (send/throw/close, yield from), ошибки и отладка, тесты и производительность, лучшие практики и мини-шпаргалка 🙂