Документация Python неофициальный перевод

iterator.md

38 строк · 3.7 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.2/c-api/iterator.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Объекты-итераторы89Python предоставляет два объекта-итератора общего назначения. Первый, итератор последовательности, работает с произвольной последовательностью, поддерживающей метод [`__getitem__()`](https://python-all.ru/3.2/reference/datamodel.html#object.__getitem__). Второй работает с вызываемым объектом и сторожевым значением, вызывая вызываемый объект для каждого элемента последовательности и завершая итерацию, когда возвращается сторожевое значение.1011**[PyTypeObject](https://python-all.ru/3.2/c-api/type.html#PyTypeObject) `PySeqIter_Type`**1213Объект-тип для объектов-итераторов, возвращаемых функцией [`PySeqIter_New()`](https://python-all.ru/3.2/c-api/iterator.html#PySeqIter_New) и формой с одним аргументом встроенной функции [`iter()`](https://python-all.ru/3.2/library/functions.html#iter) для встроенных типов последовательностей.1415#### `int PySeqIter_Check(op)`1617Возвращает истину, если тип *op* равен [`PySeqIter_Type`](https://python-all.ru/3.2/c-api/iterator.html#PySeqIter_Type).1819#### `PyObject* PySeqIter_New(PyObject *seq)`2021*Возвращаемое значение: новая ссылка.*2223Возвращает итератор, работающий с произвольным объектом последовательности *seq*. Итерация завершается, когда последовательность возбуждает исключение [`IndexError`](https://python-all.ru/3.2/library/exceptions.html#IndexError) при операции индексирования.2425**[PyTypeObject](https://python-all.ru/3.2/c-api/type.html#PyTypeObject) `PyCallIter_Type`**2627Объект-тип для объектов-итераторов, возвращаемых функцией [`PyCallIter_New()`](https://python-all.ru/3.2/c-api/iterator.html#PyCallIter_New) и формой с двумя аргументами встроенной функции [`iter()`](https://python-all.ru/3.2/library/functions.html#iter).2829#### `int PyCallIter_Check(op)`3031Возвращает истину, если тип *op* равен [`PyCallIter_Type`](https://python-all.ru/3.2/c-api/iterator.html#PyCallIter_Type).3233#### `PyObject* PyCallIter_New(PyObject *callable, PyObject *sentinel)`3435*Возвращаемое значение: новая ссылка.*3637Возвращает новый итератор. Первый параметр, *callable*, может быть любым вызываемым объектом Python, который можно вызвать без параметров; каждый его вызов должен возвращать следующий элемент итерации. Когда *callable* возвращает значение, равное *sentinel*, итерация завершается.38