Объекты итератора¶
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, итерация будет прервана.