生成器对象

生成器对象是 Python 用于实现生成器迭代器的方式。它们通常通过迭代一个产生值的函数来创建,而不是显式调用 PyGen_New()PyGen_NewWithQualName()

type PyGenObject

用于生成器对象的 C 结构体。

PyTypeObject PyGen_Type

对应生成器对象的类型对象。

int PyGen_Check(PyObject *ob)

如果 ob 是一个生成器对象,则返回 true;ob 不得为 NULL。此函数始终成功。

int PyGen_CheckExact(PyObject *ob)

如果 ob 的类型是 PyGen_Type,则返回 true;ob 不得为 NULL。此函数始终成功。

PyObject *PyGen_New(PyFrameObject *frame)
返回值:新引用。

基于 frame 对象创建并返回一个新的生成器对象。此函数会窃取 frame 的引用。参数不得为 NULL

PyObject *PyGen_NewWithQualName(PyFrameObject *frame, PyObject *name, PyObject *qualname)
返回值:新引用。

基于 frame 对象创建并返回一个新的生成器对象,其中 __name____qualname__ 分别设置为 namequalname。此函数会窃取 frame 的引用。frame 参数不得为 NULL