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