# 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()`.

`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.