Объекты ячеек
Объекты «ячейки» используются для реализации переменных, ссылающихся на несколько областей видимости. Для каждой такой переменной создается объект ячейки для хранения значения; локальные переменные каждой кадровой области стека, ссылающиеся на значение, содержат ссылку на ячейки из внешних областей видимости, которые также используют эту переменную. При обращении к значению используется значение, содержащееся в ячейке, а не сам объект ячейки. Это де-ссылочное преобразование объекта ячейки требует поддержки сгенерированного байткода; они не де-ссылочиваются автоматически при обращении. Объекты ячеек, скорее всего, не будут полезны в других местах.
-
type PyCellObject -
Структура C, используемая для объектов ячеек.
-
PyTypeObject PyCell_Type -
Объект типа, соответствующий объектам ячеек.
-
int PyCell_Check(ob) -
Возвращает true, если ob — это объект ячейки; ob не должен быть
NULL. Эта функция всегда выполняется успешно.
-
PyObject *PyCell_New(PyObject *ob) -
Значение возврата: Новая ссылка.
Создает и возвращает новый объект ячейки, содержащий значение ob. Параметр может быть
NULL.
-
PyObject *PyCell_Get(PyObject *cell) -
Значение возврата: Новая ссылка.
Возвращает содержимое ячейки cell.
-
PyObject *PyCell_GET(PyObject *cell) -
Значение возврата: Заимствованная ссылка.
Возвращает содержимое ячейки cell, но без проверки того, что cell не
NULLи является объектом ячейки.
-
int PyCell_Set(PyObject *cell, PyObject *value) -
Устанавливает содержимое объекта ячейки cell в value. Это высвобождает ссылку на любое текущее содержимое ячейки. value может быть
NULL. cell должен быть не-NULL; если это не объект ячейки, будет возвращено-1. При успехе будет возвращено0.
-
void PyCell_SET(PyObject *cell, PyObject *value) -
Устанавливает значение объекта ячейки cell в value. Счетчики ссылок не корректируются, и проверки безопасности не выполняются; cell должен быть не-
NULLи должен быть объектом ячейки.
© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/c-api/cell.html