mirror of
https://github.com/python/cpython.git
synced 2025-11-25 21:11:09 +00:00
Split the monstrous C API manual files in smaller parts.
This commit is contained in:
parent
8b506e7a2d
commit
f6842722df
41 changed files with 5118 additions and 5068 deletions
62
Doc/c-api/iterator.rst
Normal file
62
Doc/c-api/iterator.rst
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
.. highlightlang:: c
|
||||
|
||||
.. _iterator-objects:
|
||||
|
||||
Iterator Objects
|
||||
----------------
|
||||
|
||||
Python provides two general-purpose iterator objects. The first, a sequence
|
||||
iterator, works with an arbitrary sequence supporting the :meth:`__getitem__`
|
||||
method. The second works with a callable object and a sentinel value, calling
|
||||
the callable for each item in the sequence, and ending the iteration when the
|
||||
sentinel value is returned.
|
||||
|
||||
|
||||
.. cvar:: PyTypeObject PySeqIter_Type
|
||||
|
||||
Type object for iterator objects returned by :cfunc:`PySeqIter_New` and the
|
||||
one-argument form of the :func:`iter` built-in function for built-in sequence
|
||||
types.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
|
||||
|
||||
.. cfunction:: int PySeqIter_Check(op)
|
||||
|
||||
Return true if the type of *op* is :cdata:`PySeqIter_Type`.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
|
||||
|
||||
.. cfunction:: PyObject* PySeqIter_New(PyObject *seq)
|
||||
|
||||
Return an iterator that works with a general sequence object, *seq*. The
|
||||
iteration ends when the sequence raises :exc:`IndexError` for the subscripting
|
||||
operation.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
|
||||
|
||||
.. cvar:: PyTypeObject PyCallIter_Type
|
||||
|
||||
Type object for iterator objects returned by :cfunc:`PyCallIter_New` and the
|
||||
two-argument form of the :func:`iter` built-in function.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
|
||||
|
||||
.. cfunction:: int PyCallIter_Check(op)
|
||||
|
||||
Return true if the type of *op* is :cdata:`PyCallIter_Type`.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
|
||||
|
||||
.. cfunction:: PyObject* PyCallIter_New(PyObject *callable, PyObject *sentinel)
|
||||
|
||||
Return a new iterator. The first parameter, *callable*, can be any Python
|
||||
callable object that can be called with no parameters; each call to it should
|
||||
return the next item in the iteration. When *callable* returns a value equal to
|
||||
*sentinel*, the iteration will be terminated.
|
||||
|
||||
.. versionadded:: 2.2
|
||||
Loading…
Add table
Add a link
Reference in a new issue