Protocolo de mapeamento¶
Veja também PyObject_GetItem()
, PyObject_SetItem()
e PyObject_DelItem()
.
-
int
PyMapping_Check
(PyObject *o)¶ Retorna
1
se o objeto fornece protocolo de mapeamento ou suporta fatiamento e0
caso contrário. Note que ele retorna1
para classes Python com um método__getitem__()
visto que geralmente é impossível determinar a que tipo de chaves a classe tem suporte. Esta função sempre tem sucesso.
-
Py_ssize_t
PyMapping_Size
(PyObject *o)¶ -
Py_ssize_t
PyMapping_Length
(PyObject *o)¶ Retorna o número de chaves no objeto o em caso de sucesso e
-1
em caso de falha. Isso é equivalente à expressão Pythonlen(o)
.
-
PyObject*
PyMapping_GetItemString
(PyObject *o, const char *key)¶ - Return value: New reference.
Retorna o elemento de o correspondente à string key ou
NULL
em caso de falha. Este é o equivalente da expressão Pythono[key]
. Veja tambémPyObject_GetItem()
.
-
int
PyMapping_SetItemString
(PyObject *o, const char *key, PyObject *v)¶ Mapeia a string key para o valor v no objeto o. Retorna
-1
em caso de falha. Este é o equivalente da instrução Pythono[key] = v
. Veja tambémPyObject_SetItem()
. Esta função não rouba uma referência a v.
-
int
PyMapping_DelItem
(PyObject *o, PyObject *key)¶ Remove o mapeamento para o objeto key do objeto o. Retorna
-1
em caso de falha. Isso é equivalente à instrução Pythondel o[key]
. Este é um alias dePyObject_DelItem()
.
-
int
PyMapping_DelItemString
(PyObject *o, const char *key)¶ Remove o mapeamento para a string key do objeto o. Retorna
-1
em caso de falha. Isso é equivalente à instrução Pythondel o[key]
.
-
int
PyMapping_HasKey
(PyObject *o, PyObject *key)¶ Retorna
1
se o objeto de mapeamento tiver a chave key e0
caso contrário. Isso é equivalente à expressão Pythonkey in o
. Esta função sempre tem sucesso.Observe que as exceções que ocorrem ao chamar o método
__getitem__()
serão suprimidas. Para obter relatórios de erros, usePyObject_GetItem()
.
-
int
PyMapping_HasKeyString
(PyObject *o, const char *key)¶ Retorna
1
se o objeto de mapeamento tiver a chave key e0
caso contrário. Isso é equivalente à expressão Pythonkey in o
. Esta função sempre tem sucesso.Observe que as exceções que ocorrem ao chamar o método
__getitem__()
e criar um objeto string temporário serão suprimidas. Para obter relatórios de erros, usePyMapping_GetItemString()
.
-
PyObject*
PyMapping_Keys
(PyObject *o)¶ - Return value: New reference.
Em caso de sucesso, retorna uma lista das chaves no objeto o. Em caso de falha, retorna
NULL
.Alterado na versão 3.7: Anteriormente, a função retornava uma lista ou tupla.