Spec-Zone.ru › Python 3.8

Объекты-итераторы

Python предоставляет два универсальных объекта-итератора. Первый, итератор последовательности, работает с произвольной последовательностью, поддерживающей метод __getitem__(). Второй работает с вызываемым объектом и значением-сентинелом, вызывая вызываемый объект для каждого элемента в последовательности и завершая итерацию, когда возвращается значение-сентинел.

PyTypeObject PySeqIter_Type

Объект типа для объектов-итераторов, возвращаемых PySeqIter_New() и одноаргументной формой встроенной функции iter() для встроенных типов последовательностей.

int PySeqIter_Check(op)

Возвращает true, если тип op соответствует PySeqIter_Type.

PyObject* PySeqIter_New(PyObject *seq)
Возвращаемое значение: Новая ссылка.

Возвращает итератор, который работает с общим объектом последовательности, seq. Итерация завершается, когда последовательность вызывает IndexError для операции индексирования.

PyTypeObject PyCallIter_Type

Объект типа для объектов-итераторов, возвращаемых PyCallIter_New() и двухаргументной формой встроенной функции iter().

int PyCallIter_Check(op)

Возвращает true, если тип op соответствует PyCallIter_Type.

PyObject* PyCallIter_New(PyObject *callable, PyObject *sentinel)
Возвращаемое значение: Новая ссылка.

Возвращает новый итератор. Первый параметр, callable, может быть любым вызываемым объектом Python, который может быть вызван без параметров; каждый вызов должен возвращать следующий элемент в итерации. Когда callable возвращает значение, равное sentinel, итерация завершается.

© 2001–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.8/c-api/iterator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API