# Objetos Generadores

Los objetos generadores son lo que Python usa para implementar iteradores generadores. Normalmente se crean iterando sobre una función que produce valores, en lugar de llamar explícitamente `PyGen_New()` o `PyGen_NewWithQualName()`.

`PyGenObject`

  La estructura en C utilizada para los objetos generadores.

PyTypeObject `PyGen_Type`

  El objeto tipo correspondiente a los objetos generadores.

int `PyGen_Check`(PyObject *ob)

  Retorna verdadero si ob es un objeto generador; ob no debe ser `NULL`. Esta función siempre finaliza con éxito.

int `PyGen_CheckExact`(PyObject *ob)

  Retorna verdadero si el tipo de ob es `PyGen_Type`; ob no debe ser `NULL`. Esta función siempre finaliza con éxito.

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

  Crea y retorna un nuevo objeto generador basado en el objeto frame. Una referencia a frame es robada por esta función. El argumento no debe ser `NULL`.

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

  Crea y retorna un nuevo objeto generador basado en el objeto frame, con `__name__` y `__qualname__` establecido en name y qualname. Una referencia a frame es robada por esta función. El argumento frame no debe ser `NULL`.