Объекты-итераторы¶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()и dвухаргументной формой встроенной функцииiter().
-
int
PyCallIter_Check(op)¶ Возвращает истину, если тип op – это
PyCallIter_Type.
-
PyObject*
PyCallIter_New(PyObject *callable, PyObject *sentinel)¶ - Возвращаемое значение: новая ссылка.
Возвращает новый итератор. Первый параметр, callable, может быть любым вызываемым объектом Python, который можно вызвать без параметров; каждый его вызов должен возвращать следующий элемент итерации. Когда callable возвращает значение, равное sentinel, итерация завершается.