Встречается на собеседованиях • сегодня
В чем преимущество генератора над итератором
Генераторы — это подвид итераторов, но с ключевыми преимуществами:
- Ленивые вычисления — элементы генерируются по требованию, а не хранятся в памяти целиком. Это экономит память, особенно для больших данных.
- Простота создания — вместо реализации
__iter__и__next__достаточно функции сyield. - Автоматическое управление состоянием — генератор запоминает место выполнения между вызовами.
Пример:
python
def infinite_sequence():
num = 0
while True:
yield num
num += 1
gen = infinite_sequence() # Не потребляет память бесконечно
print(next(gen)) # 0
print(next(gen)) # 1Итератор потребовал бы ручного управления состоянием в классе. Генераторы идеальны для потоковой обработки данных, например, чтения больших файлов построчно.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы