# 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.