Исключение, сигнализирующее, что итератор исчерпывал доступные значения.

Поднимается функцией next(), чтобы сигнализировать, что итератор исчерпал доступные значения.

    def generate():
for value in [1]:
yield value
return 'some'

my_generator = generate()

next(my_generator) # 1
next(my_generator) # StopIteration: some

Начиная с +py3.3, атрибут value содержит «прикрепленное значение». В него помещается значение из аргумента, переданного в инициализатор (по умолчанию — None). После возврата из функции генератора/сопрограммы создаётся экземпляр данного исключения, в инициализатор которого передаётся значение, возвращаемое упомянутой функцией.

Начиная с +py3.5, если в модуле, определяющем функцию-генератор используется директива from __future__ import generator_stop, в случае возбуждения StopIteration, оно будет конвертировано в RuntimeError (при этом StopIteration будет указано в качестве причины нового исключения).
Синонимы поиска: StopIteration
На заметку
У нас есть представительство во ВКонтакте. Ссылка в самом низу страницы.