Генератор — итератор, который выдаёт значения по требованию и сохраняет состояние между выдачами. Генераторную функцию определяют с yield, а выражение-генератор — круглыми скобками.
Что такое генератор в Python и как вы его понимаете?
Генератор — итератор, который выдаёт значения по требованию и сохраняет состояние между выдачами. Генераторную функцию определяют с yield, а выражение-генератор — круглыми скобками.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Генератор — итератор, который выдаёт значения по требованию и сохраняет состояние между выдачами. Генераторную функцию определяют с yield, а выражение-генератор — круглыми скобками.
При вызове функции создаётся объект генератора; тело начинает выполняться при next или обходе. Это позволяет обрабатывать потоки без хранения всех результатов, но генератор обычно нельзя повторно обойти с начала. return завершает его, а исключения могут возникнуть позже — в момент потребления.