Cell 對(duì)象?

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

type PyCellObject?

用于Cell對(duì)象的C結(jié)構(gòu)體。

PyTypeObject PyCell_Type?

與 Cell 對(duì)象對(duì)應(yīng)的類型對(duì)??象。

int PyCell_Check(ob)?

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

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

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

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

返回 cell 對(duì)象 cell 的內(nèi)容。

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

返回 cell 對(duì)象 cell 的內(nèi)容,但是不檢測 cell 是否非 NULL 并且為一個(gè) cell 對(duì)象。

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

將 cell 對(duì)象 cell 的內(nèi)容設(shè)為 value。 這將釋放任何對(duì) cell 對(duì)象當(dāng)前內(nèi)容的引用。 value 可以為 NULL。 cell 必須為非 NULL;如果它不是一個(gè) cell 對(duì)象則將返回 -1。 如果設(shè)置成功則將返回 0

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

將 cell 對(duì)象 cell 的值設(shè)為 value。 不會(huì)調(diào)整引用計(jì)數(shù),并且不會(huì)進(jìn)行檢測以保證安全;cell 必須為非 NULL 并且為一個(gè) cell 對(duì)象。