Встречается на 1% собеседований по Python
В чем сходства между итератором и генератором в Python
Итераторы и генераторы в Python оба позволяют работать с последовательностями данных, но у них есть ключевые сходства:
- Ленивое вычисление – элементы обрабатываются по одному, а не все сразу, что экономит память.
- Протокол итерации – оба реализуют методы
__iter__()и__next__(), что позволяет использовать их в циклахfor. - Одноразовость – после завершения итерации (достижения
StopIteration) их нельзя переиспользовать без повторного создания.
Пример генератора (частный случай итератора):
python
def count_up_to(n):
i = 1
while i <= n:
yield i # генератор приостанавливается здесь
i += 1
# Использование как итератора
for num in count_up_to(5):
print(num)Главное отличие: генераторы создаются с помощью yield и более лаконичны, а итераторы требуют явного описания __next__() и __iter__().

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