Объекты-итераторы¶
Python предоставляет два объекта-итератора общего назначения. Первый, итератор
последовательности, работает с произвольной последовательностью, поддерживающей
метод __getitem__()
. Второй работает с вызываемым объектом и контрольным
значением, вызывая вызываемый объект для каждого элемента в последовательности
и заканчивая итерацию, когда возвращается контрольное значение.
-
PyTypeObject
PySeqIter_Type
¶ Объект типа для объектов-итераторов, возвращаемых
PySeqIter_New()
, и форма с одним аргументом встроенной функцииiter()
для встроенных типов последовательности.
-
int
PySeqIter_Check
(op)¶ Возвращает истину, если тип op —
PySeqIter_Type
.
-
PyObject*
PySeqIter_New
(PyObject *seq)¶ - Return value: New reference.
Возвращает итератор, который работает с общим объектом последовательности, seq. Итерация заканчивается, когда последовательность вызывает
IndexError
для операции индексации.
-
PyTypeObject
PyCallIter_Type
¶ Тип объекта для объектов-итераторов, возвращаемых
PyCallIter_New()
и формой с двумя аргументами встроенной функцииiter()
.
-
int
PyCallIter_Check
(op)¶ Возвращает истину, если тип op —
PyCallIter_Type
.
-
PyObject*
PyCallIter_New
(PyObject *callable, PyObject *sentinel)¶ - Return value: New reference.
Возвращает новый итератор. Первый параметр, callable, может быть любым вызываемым объектом Python, который может быть вызван без параметров; каждый его вызов должен возвращать следующий элемент в итерации. Когда callable возвращает значение, равное sentinel, итерация прекращается.