Objeto Célula (Cell)

Objetos “Cell” são usados ​​para implementar variáveis ​​referenciadas por múltiplos escopos. Para cada variável, um objeto de célula é criado para armazenar o valor; as variáveis ​​locais de cada quadro de pilha que referencia o valor contém uma referência para as células de escopos externos que também usam essa variável. Quando o valor é acessado, o valor contido na célula é usado em vez do próprio objeto da célula. Essa des-referência do objeto da célula requer suporte do código de bytes gerado; estes não são automaticamente desprezados quando acessados. Objetos de células provavelmente não serão úteis em outro lugar.

PyCellObject

A estrutura C usada para objetos de célula.

PyTypeObject PyCell_Type

O objeto de tipo correspondente aos objetos de célula.

int PyCell_Check(ob)

Retorna true se * ob * for um objeto de célula; * ob * não deve ser * NULL *.

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

Crie e retorne um novo objeto de célula contendo o valor * ob *. O parâmetro pode ser * NULL *.

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

Retorna o conteúdo da célula * cell *.

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

Retorna o conteúdo da célula * cell , mas sem verificar se * cell * é não- NULL * e um objeto de célula.

int PyCell_Set(PyObject *cell, PyObject *value)

Defina o conteúdo do objeto de célula * cell * para * value *. Isso libera a referência para qualquer conteúdo atual da célula. * valor * pode ser * NULL *. * cell * deve ser diferente de * NULL *; se não for um objeto de célula, `` -1`` será retornado. Em sucesso, `` 0`` será retornado.

void PyCell_SET(PyObject *cell, PyObject *value)

Define o valor do objeto da célula * cell * para * value *. Nenhuma contagem de referência é ajustada e nenhuma verificação é feita para segurança; * cell * deve ser diferente de * NULL * e deve ser um objeto de célula.