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