# Objek Sel, Cell

"Cell" objects are used to implement variables referenced by multiple scopes. For each such variable, a cell object is created to store the value; the local variables of each stack frame that references the value contain a reference to the cells from outer scopes which also use that variable. When the value is accessed, the value contained in the cell is used instead of the cell object itself. This de-referencing of the cell object requires support from the generated byte-code; these are not automatically de-referenced when accessed. Cell objects are not likely to be useful elsewhere.

type PyCellObject

  Struktur C digunakan untuk objek sel.

PyTypeObject PyCell_Type

  Tipe objek yang sesuai dengan objek sel.

int PyCell_Check(PyObject *ob)

  Mengembalikan nilai true jika ob adalah objek sel; ob tidak boleh `NULL`. Fungsi ini selalu berhasil.

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

  Membuat dan mengembalikan objek cell baru yang memiliki nilai ob. Parameter dibolehkan `NULL`.

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

  Return the contents of the cell cell, which can be `NULL`. If cell is not a cell object, returns `NULL` with an exception set.

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

  Kembalikan isi dari sel cell, tanpa mengecek jika cell merupakan *non-*`NULL` dan sebuah objek *cell.

int PyCell_Set(PyObject *cell, PyObject *value)

  Set the contents of the cell object cell to value. This releases the reference to any current content of the cell. value may be `NULL`. cell must be non-`NULL`.

  On success, return `0`. If cell is not a cell object, set an exception and return `-1`.

void PyCell_SET(PyObject *cell, PyObject *value)

  Mengatur nilai dari objek sel cell ke value. Tidak ada hitungan referensi yang diatur, dan tidak ada pengecekan untuk keamanan;*cell* harus non-`NULL` dan harus merupakan sebuah objek sel.