Generator Objects¶
Generator objects are what Python uses to implement generator iterators. They
are normally created by iterating over a function that yields values, rather
than explicitly calling PyGen_New() or PyGen_NewWithQualName().
-
type PyGenObject¶
The C structure used for generator objects.
-
PyTypeObject PyGen_Type¶
The type object corresponding to generator objects.
-
int PyGen_Check(PyObject *ob)¶
Return true if ob is a generator object; ob must not be
NULL. This function always succeeds.
-
int PyGen_CheckExact(PyObject *ob)¶
Return true if ob’s type is
PyGen_Type; ob must not beNULL. This function always succeeds.
-
PyObject *PyGen_New(PyFrameObject *frame)¶
- Return value: New reference.
Create and return a new generator object based on the frame object. A reference to frame is stolen by this function. The argument must not be
NULL.
-
PyObject *PyGen_NewWithQualName(PyFrameObject *frame, PyObject *name, PyObject *qualname)¶
- Return value: New reference.
Create and return a new generator object based on the frame object, with
__name__and__qualname__set to name and qualname. A reference to frame is stolen by this function. The frame argument must not beNULL.
-
PyCodeObject *PyGen_GetCode(PyGenObject *gen)¶
Return a new strong reference to the code object wrapped by gen. This function always succeeds.
Asynchronous Generator Objects¶
See also
-
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.