Cellobjekt¶
”Cell”-objekt används för att implementera variabler som refereras av flera scopes. För varje sådan variabel skapas ett cellobjekt för att lagra värdet; de lokala variablerna i varje stackram som refererar till värdet innehåller en referens till de celler från yttre scopes som också använder variabeln. När värdet hämtas används värdet i cellen i stället för cellobjektet självt. Denna de-referering av cellobjektet kräver stöd från den genererade bytekoden; dessa de-refereras inte automatiskt vid åtkomst. Cellobjekt kommer sannolikt inte att vara användbara på andra ställen.
-
type PyCellObject¶
Den C-struktur som används för cellobjekt.
-
PyTypeObject PyCell_Type¶
Typobjekt som motsvarar cellobjekt.
-
int PyCell_Check(PyObject *ob)¶
Returnerar true om ob är ett cellobjekt; ob får inte vara
NULL
. Denna funktion lyckas alltid.
-
PyObject *PyCell_New(PyObject *ob)¶
- Returnera värde: Ny referens.
Skapar och returnerar ett nytt cellobjekt som innehåller värdet ob. Parametern kan vara
NULL
.
-
PyObject *PyCell_Get(PyObject *cell)¶
- Returnera värde: Ny referens.
Returnerar innehållet i cellen cell, som kan vara
NULL
. Om cell inte är ett cellobjekt returnerasNULL
med en undantagsuppsättning.
-
PyObject *PyCell_GET(PyObject *cell)¶
- Returnera värde: Lånad referens.
Returnerar innehållet i cellen cell, men utan att kontrollera att cell inte är
NULL
och ett cellobjekt.
-
int PyCell_Set(PyObject *cell, PyObject *value)¶
Ställ in innehållet i cellobjektet cell till värde. Detta frigör referensen till eventuellt aktuellt innehåll i cellen. value kan vara
NULL
. cell måste vara icke-NULL
.Vid framgång returneras
0
. Om cell inte är ett cellobjekt, anges ett undantag och returen blir-1
.