生成器物件

生成器物件是 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