StopIteration
Исключение, сигнализирующее, что итератор исчерпывал доступные значения.
Поднимается функцией next(), чтобы сигнализировать, что итератор исчерпал доступные значения.
Начиная с +py3.3, атрибут
Начиная с +py3.5, если в модуле, определяющем функцию-генератор используется директива
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
На заметку
Зарегистрированные пользователи могут добавлять Книги.