Встречается на собеседованиях • сегодня
Как происходит итерация генератора
Генератор в Python — это функция, которая использует ключевое слово yield вместо return. При вызове она возвращает объект-генератор, который можно итерировать.
Итерация происходит так:
- При первом вызове
next()выполнение начинается с начала функции и продолжается до первогоyield. - Функция приостанавливается, возвращая значение после
yield. - При следующем вызове
next()выполнение возобновляется с места последней паузы и продолжается до следующегоyield. - Если генератор завершается (достигает
returnили конца функции), вызываетсяStopIteration.
Пример:
python
def count_up_to(n):
i = 1
while i <= n:
yield i
i += 1
gen = count_up_to(3)
print(next(gen)) # 1
print(next(gen)) # 2
print(next(gen)) # 3
# next(gen) вызовет StopIterationГенераторы ленивы — значения вычисляются по требованию, что экономит память.

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