Iterator-Objekte

Python bietet zwei allgemeine Iterator-Objekte. Das erste, ein Sequenz-Iterator, arbeitet mit einer beliebigen Sequenz, die die Methode __getitem__() unterstützt. Das zweite arbeitet mit einem aufrufbaren Objekt und einem Sentinel-Wert, ruft das aufrufbare Objekt für jedes Element in der Sequenz auf und beendet die Iteration, wenn der Sentinel-Wert zurückgegeben wird.

PyTypeObject PySeqIter_Type
Teil der Stable ABI.

Typobjekt für Iterator-Objekte, die von PySeqIter_New() und der Ein-Argument-Form der integrierten Funktion iter() für integrierte Sequenztypen zurückgegeben werden.

int PySeqIter_Check(PyObject *op)

Gibt wahr zurück, wenn der Typ von op PySeqIter_Type ist. Diese Funktion ist immer erfolgreich.

PyObject *PySeqIter_New(PyObject *seq)
Rückgabewert: Neue Referenz. Teil der Stabilen ABI.

Gibt einen Iterator zurück, der mit einem allgemeinen Sequenzobjekt, seq, arbeitet. Die Iteration endet, wenn die Sequenz IndexError für die Subskriptierungsoperation auslöst.

PyTypeObject PyCallIter_Type
Teil der Stable ABI.

Typobjekt für Iterator-Objekte, die von PyCallIter_New() und der Zwei-Argument-Form der integrierten Funktion iter() zurückgegeben werden.

int PyCallIter_Check(PyObject *op)

Gibt wahr zurück, wenn der Typ von op PyCallIter_Type ist. Diese Funktion ist immer erfolgreich.

PyObject *PyCallIter_New(PyObject *callable, PyObject *sentinel)
Rückgabewert: Neue Referenz. Teil der Stabilen ABI.

Gibt einen neuen Iterator zurück. Der erste Parameter, callable, kann jedes Python aufrufbare Objekt sein, das ohne Parameter aufgerufen werden kann; jeder Aufruf sollte das nächste Element in der Iteration zurückgeben. Wenn callable einen Wert zurückgibt, der gleich sentinel ist, wird die Iteration beendet.