Spec-Zone.ru › Python 3.11

Объекты ячеек

Объекты «ячейки» используются для реализации переменных, к которым обращаются из нескольких областей видимости. Для каждой такой переменной создается объект ячейки для хранения значения; локальные переменные каждой кадра стека, ссылающиеся на значение, содержат ссылку на ячейки из внешних областей видимости, которые также используют эту переменную. При обращении к значению используется значение, содержащееся в ячейке, а не сам объект ячейки. Эта де-референсация объекта ячейки требует поддержки сгенерированного байткода; при обращении к ним они не де-реферируются автоматически. Объекты ячеек вряд ли будут полезны где-либо ещё.

type PyCellObject

Структура C, используемая для объектов ячеек.

PyTypeObject PyCell_Type

Объект типа, соответствующий объектам ячеек.

int PyCell_Check(PyObject *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.11/c-api/cell.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API