Cell 對象?

“Cell”對象用于實現由多個作用域引用的變量。 對于每個這樣的變量,一個“Cell”對象為了存儲該值而被創(chuàng)建;引用該值的每個堆棧框架的局部變量包含同樣使用該變量的對外部作用域的“Cell”引用。 訪問該值時,將使用“Cell”中包含的值而不是單元格對象本身。 這種對“Cell”對象的非關聯化的引用需要支持生成的字節(jié)碼;訪問時不會自動非關聯化這些內容。 “Cell”對象在其他地方可能不太有用。

type PyCellObject?

用于Cell對象的C結構體。

PyTypeObject PyCell_Type?

與 Cell 對象對應的類型對??象。

int PyCell_Check(ob)?

如果 ob 是一個 cell 對象則返回真值;ob 必須不為 NULL。 此函數總是會成功執(zhí)行。

PyObject *PyCell_New(PyObject *ob)?
Return value: New reference.

創(chuàng)建并返回一個包含值 ob 的新 cell 對象。形參可以為 NULL。

PyObject *PyCell_Get(PyObject *cell)?
Return value: New reference.

返回 cell 對象 cell 的內容。

PyObject *PyCell_GET(PyObject *cell)?
Return value: Borrowed reference.

返回 cell 對象 cell 的內容,但是不檢測 cell 是否非 NULL 并且為一個 cell 對象。

int PyCell_Set(PyObject *cell, PyObject *value)?

將 cell 對象 cell 的內容設為 value。 這將釋放任何對 cell 對象當前內容的引用。 value 可以為 NULLcell 必須為非 NULL;如果它不是一個 cell 對象則將返回 -1。 如果設置成功則將返回 0。

void PyCell_SET(PyObject *cell, PyObject *value)?

將 cell 對象 cell 的值設為 value。 不會調整引用計數,并且不會進行檢測以保證安全;cell 必須為非 NULL 并且為一個 cell 對象。