生成器对象

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

type PyGenObject

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

PyTypeObject PyGen_Type

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

int PyGen_Check(PyObject *ob)

如果 ob 是一个生成器对象,则返回真;ob 不能为 NULL。此函数总是成功。

int PyGen_CheckExact(PyObject *ob)

如果 ob 的类型是 PyGen_Type,则返回真;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