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