Sobes.tech
Back to questions
Junior — Middle
72

Какой результат будет получен при завершении выполнения функции-генератора в Python?

Answer from AI

sobes.tech AI

При завершении выполнения функции-генератора в Python происходит возбуждение исключения StopIteration. Это сигнализирует, что генератор исчерпал все свои значения и больше не может выдавать новые.

Если вы итерируетесь по генератору в цикле for, это исключение обрабатывается автоматически, и цикл завершается.

Пример:

def gen():
    yield 1
    yield 2

g = gen()
print(next(g))  # Выведет 1
print(next(g))  # Выведет 2
print(next(g))  # Возбуждает StopIteration

Таким образом, StopIteration — это стандартный способ сообщить о завершении генератора.