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