Objets générateur

Python utilise des objets générateurs pour implémenter les itérations de générateurs. Ils sont normalement crées en itérant sur une fonction donnant des valeurs via yield, au lieu d'appeler explicitement PyGen_New() ou PyGen_NewWithQualName().

type PyGenObject

La structure C utilisée pour les objets générateurs.

PyTypeObject PyGen_Type

Le type objet correspondant aux objets générateurs.

int PyGen_Check(PyObject *ob)

Return true if ob is a generator object; ob must not be NULL. This function always succeeds.

int PyGen_CheckExact(PyObject *ob)

Return true if ob's type is PyGen_Type; ob must not be NULL. This function always succeeds.

PyObject *PyGen_New(PyFrameObject *frame)
Valeur de retour : nouvelle référence.

Create and return a new generator object based on the frame object. A reference to frame is stolen by this function. The argument must not be NULL.

PyObject *PyGen_NewWithQualName(PyFrameObject *frame, PyObject *name, PyObject *qualname)
Valeur de retour : nouvelle référence.

Create and return a new generator object based on the frame object, with __name__ and __qualname__ set to name and qualname. A reference to frame is stolen by this function. The frame argument must not be NULL.

PyCodeObject *PyGen_GetCode(PyGenObject *gen)

Return a new strong reference to the code object wrapped by gen. This function always succeeds.

Asynchronous Generator Objects

Voir aussi

PEP 525

PyTypeObject PyAsyncGen_Type

The type object corresponding to asynchronous generator objects. This is available as types.AsyncGeneratorType in the Python layer.

Ajouté dans la version 3.6.

PyObject *PyAsyncGen_New(PyFrameObject *frame, PyObject *name, PyObject *qualname)

Create a new asynchronous generator wrapping frame, with __name__ and __qualname__ set to name and qualname. frame is stolen by this function and must not be NULL.

On success, this function returns a strong reference to the new asynchronous generator. On failure, this function returns NULL with an exception set.

Ajouté dans la version 3.6.

int PyAsyncGen_CheckExact(PyObject *op)

Return true if op is an asynchronous generator object, false otherwise. This function always succeeds.

Ajouté dans la version 3.6.