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 iterant sur une fonction donnant des valeurs via yield, au lieu d’appeler explicitement PyGen_New() ou PyGen_NewWithQualName().

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)

Renvoie True si ob est un objet générateur. ob ne doit pas être NULL.

int PyGen_CheckExact(PyObject *ob)

Renvoie True si le type de ob est PyGen_Type. ob ne doit pas être NULL.

PyObject* PyGen_New(PyFrameObject *frame)
Return value: New reference.

Crée et renvoie un nouvel objet générateur basé sur l’objet frame. Une référence à frame est volée par cette fonction. L’argument ne doit pas être NULL

PyObject* PyGen_NewWithQualName(PyFrameObject *frame, PyObject *name, PyObject *qualname)
Return value: New reference.

Crée et renvoie un nouvel objet générateur basé sur l’objet frame, avec __name__ et __qualname__ valant name et qualname. Une référence à frame est volée par cette fonction. L’argument frame ne doit pas être NULL.