Встречается на собеседованиях • сегодня
В чем сходства между итератором и генератором в 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
интервью вопросы и ответы