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().
-
type 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 serNULL. 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 serNULL.
-
PyCodeObject *PyGen_GetCode(PyGenObject *gen)¶
Return a new strong reference to the code object wrapped by gen. This function always succeeds.
Asynchronous Generator Objects¶
Ver también
-
PyTypeObject PyAsyncGen_Type¶
The type object corresponding to asynchronous generator objects. This is available as
types.AsyncGeneratorTypein the Python layer.Added in 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 beNULL.On success, this function returns a strong reference to the new asynchronous generator. On failure, this function returns
NULLwith an exception set.Added in version 3.6.