Объекты-итераторы¶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, итерация завершается.