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

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

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

PyTypeObject PySeqIter_Type
Объект-тип для объектов-итераторов, возвращаемых функцией PySeqIter_New() и формой с одним аргументом встроенной функции iter() для встроенных типов последовательностей.
int PySeqIter_Check(op)
Возвращает истину, если тип op равен PySeqIter_Type.
PyObject* PySeqIter_New(PyObject *seq)
Возвращаемое значение: новая ссылка.

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

PyTypeObject PyCallIter_Type
Объект-тип для объектов-итераторов, возвращаемых функцией PyCallIter_New() и формой с двумя аргументами встроенной функции iter().
int PyCallIter_Check(op)
Возвращает истину, если тип op равен PyCallIter_Type.
PyObject* PyCallIter_New(PyObject *callable, PyObject *sentinel)
Возвращаемое значение: новая ссылка.

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