# Objetos Geradores

Objetos geradores são o que o Python usa para implementar iteradores geradores. Eles são normalmente criados por iteração sobre uma função que produz valores, em vez de invocar explicitamente `PyGen_New()` ou `PyGen_NewWithQualName()`.

`PyGenObject`

  A estrutura C usada para objetos geradores.

PyTypeObject `PyGen_Type`

  O objeto de tipo correspondendo a objetos geradores.

int `PyGen_Check`(PyObject *ob)

  Retorna verdadeiro se ob for um objeto gerador; ob não deve ser `NULL`. Esta função sempre tem sucesso.

int `PyGen_CheckExact`(PyObject *ob)

  Retorna verdadeiro se o tipo do ob é `PyGen_Type`; ob não deve ser `NULL`. Esta função sempre tem sucesso.

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

  Cria e retorna um novo objeto gerador com base no objeto frame. Uma referência a quadro é roubada por esta função. O argumento não deve ser `NULL`.

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

  Cria e retorna um novo objeto gerador com base no objeto frame, com `__name__` e `__qualname__` definidos como name e qualname. Uma referência a frame é roubada por esta função. O argumento frame não deve ser `NULL`.