Spec-Zone.ru › Python 3.12

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

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

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, итерация завершается.

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

Spec-Zone.ru

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