Objeto célula¶
Objetos “cell” são usados para implementar variáveis referenciadas por múltiplos escopos. Para cada variável, um objeto 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.
-
type PyCellObject¶
A estrutura C usada para objetos célula.
-
PyTypeObject PyCell_Type¶
O objeto de tipo correspondente aos objetos célula.
-
int PyCell_Check(PyObject *ob)¶
Retorna verdadeiro se ob for um objeto célula; ob não deve ser
NULL
. Esta função sempre tem sucesso.
-
PyObject *PyCell_New(PyObject *ob)¶
- Retorna valor: Nova referência.
Cria e retorna um novo objeto célula contendo o valor ob. O parâmetro pode ser
NULL
.
-
PyObject *PyCell_Get(PyObject *cell)¶
- Retorna valor: Nova referência.
Retorna o conteúdo da célula cell, que pode ser
NULL
. Se cell não for um objeto célula, retornaNULL
com um conjunto de exceções.
-
PyObject *PyCell_GET(PyObject *cell)¶
- Retorna valor: Referência emprestada.
Retorna o conteúdo da célula cell, mas sem verificar se cell não é
NULL
e um objeto célula.
-
int PyCell_Set(PyObject *cell, PyObject *value)¶
Define o conteúdo do objeto da célula cell como value. Isso libera a referência a qualquer conteúdo atual da célula. value pode ser
NULL
. cell não pode serNULL
.Em caso de sucesso, retorna
0
. Se cell não for um objeto célula, define uma exceção e retorna-1
.