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