Документация Python неофициальный перевод

Объекты-итераторыIterator Objects

Python предоставляет два универсальных объекта-итератора. Первый – итератор последовательности – работает с произвольной последовательностью, поддерживающей метод __getitem__(). Второй работает с вызываемым объектом и сигнальным значением: вызываемый объект вызывается для каждого элемента последовательности, а итерация завершается, когда возвращается сигнальное значение.

PyTypeObject PySeqIter_Type
Часть Stable ABI.

Объект типа для объектов-итераторов, возвращаемых PySeqIter_New() и одноаргументной формой встроенной функции iter() для встроенных типов последовательностей.

int PySeqIter_Check(op)

Возвращает true, если тип op – это PySeqIter_Type. Эта функция всегда завершается успешно.

PyObject *PySeqIter_New(PyObject *seq)
Возвращаемое значение: новая ссылка. Часть Stable ABI.

Возвращает итератор, работающий с произвольным объектом последовательности seq. Итерация завершается, когда последовательность возбуждает исключение IndexError при операции индексации.

PyTypeObject PyCallIter_Type
Часть Stable ABI.

Объект типа для объектов-итераторов, возвращаемых PyCallIter_New() и dвухаргументной формой встроенной функции iter().

int PyCallIter_Check(op)

Возвращает true, если тип op – это PyCallIter_Type. Эта функция всегда завершается успешно.

PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)
Возвращаемое значение: новая ссылка. Часть Stable ABI.

Возвращает новый итератор. Первый параметр, callable, может быть любым вызываемым объектом Python, который можно вызвать без параметров; каждый его вызов должен возвращать следующий элемент итерации. Когда callable возвращает значение, равное sentinel, итерация завершается.