Cell 對象?

“Cell”對象用于實(shí)現由多個(gè)作用域引用的變量。 對于每個(gè)這樣的變量,一個(gè)“Cell”對象為了存儲該值而被創(chuàng )建;引用該值的每個(gè)堆??蚣艿木植孔兞堪瑯邮褂迷撟兞康膶ν獠孔饔糜虻摹癈ell”引用。 訪(fǎng)問(wèn)該值時(shí),將使用“Cell”中包含的值而不是單元格對象本身。 這種對“Cell”對象的非關(guān)聯(lián)化的引用需要支持生成的字節碼;訪(fǎng)問(wèn)時(shí)不會(huì )自動(dòng)非關(guān)聯(lián)化這些內容。 “Cell”對象在其他地方可能不太有用。

type PyCellObject?

用于Cell對象的C結構體。

PyTypeObject PyCell_Type?

與 Cell 對象對應的類(lèi)型對??象。

int PyCell_Check(ob)?

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

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

創(chuàng )建并返回一個(gè)包含值 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 并且為一個(gè) cell 對象。

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

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

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

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