Объекты ячейки¶
Объекты «ячейки» используются для реализации переменных, на которые ссылается несколько областей видимости. Для каждой такой переменной создается объект ячейки для хранения значения; локальные переменные каждого фрейма стека, который ссылается на значение, содержат ссылку на ячейки из внешних области видимости, которые также используют эту переменную. При обращении к значению, значение, содержащаяся в ячейке, используемый вместо самого объекта ячейки. Эта отмена ссылки на объект ячейки требует поддержки со стороны сгенерированного байт кода; они не удаляются автоматически при обращении к ним. Объекты ячейки вряд ли пригодятся где-либо еще.
-
PyTypeObject
PyCell_Type
¶ Объект типа, соответствующий объектам ячейки.
-
int
PyCell_Check
(ob)¶ Возвращает true, если ob является объектом ячейки; ob не должны быть
NULL
.
-
PyObject*
PyCell_New
(PyObject *ob)¶ - Return value: New reference.
Создать и вернуть новый объект ячейки, содержащее значение ob. Параметр может быть
NULL
.
-
PyObject*
PyCell_Get
(PyObject *cell)¶ - Return value: New reference.
Возвращает содержимое ячейки cell.
-
PyObject*
PyCell_GET
(PyObject *cell)¶ - Return value: Borrowed reference.
Возвращает содержимое ячейки cell, но без проверки cell на не-
NULL
и объекта ячейки.