Что такое генераторы и зачем они нужны?

Junior
424 просмотров
AFK Offer AI

Генератор — это функция с yield вместо return. Когда ты её вызываешь, она не выполняется сразу, а возвращает объект-генератор. При каждом вызове next() она выполняется до следующего yield, возвращает значение и замораживает своё состояние. Главный профит — ленивое вычисление: генератор не держит все значения в памяти, а создаёт их по одному. Для больших данных это критично — перебрать миллион строк из файла через генератор занимает O(1) памяти.

Следующий вопрос

Как устроена обработка исключений в Python?