Protocolo de mapeo

Consulte también PyObject_GetItem(), PyObject_SetItem() y PyObject_DelItem().

int PyMapping_Check(PyObject *o)

Return 1 if the object provides the mapping protocol or supports slicing, and 0 otherwise. Note that it returns 1 for Python classes with a __getitem__() method, since in general it is impossible to determine what type of keys the class supports. This function always succeeds.

Py_ssize_t PyMapping_Size(PyObject *o)
Py_ssize_t PyMapping_Length(PyObject *o)

Retorna el número de claves en el objeto o en caso de éxito, y -1 en caso de error. Esto es equivalente a la expresión de Python len(o).

PyObject* PyMapping_GetItemString(PyObject *o, const char *key)
Return value: New reference.

Retorna el elemento de o correspondiente a la cadena de caracteres key o NULL en caso de error. Este es el equivalente de la expresión de Python o[key]. Ver también PyObject_GetItem().

int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v)

Asigna la cadena de caracteres key al valor v en el objeto o. Retorna -1 en caso de falla. Este es el equivalente de la declaración de Python o[key] = v. Ver también PyObject_SetItem(). Esta función no roba una referencia a v.

int PyMapping_DelItem(PyObject *o, PyObject *key)

Elimina la asignación para el objeto key del objeto o. Retorna -1 en caso de falla. Esto es equivalente a la declaración de Python del o[key]. Este es un alias de PyObject_DelItem().

int PyMapping_DelItemString(PyObject *o, const char *key)

Elimina la asignación de la cadena de caracteres key del objeto o. Retorna -1 en caso de falla. Esto es equivalente a la declaración de Python del o[key].

int PyMapping_HasKey(PyObject *o, PyObject *key)

Retorna 1 si el objeto de mapeo tiene la clave key y 0 de lo contrario. Esto es equivalente a la expresión de Python key in o. Esta función siempre finaliza con éxito.

Tenga en cuenta que las excepciones que se producen al llamar al método __getitem__() se suprimirán. Para obtener informes de errores, utilice PyObject_GetItem() en su lugar.

int PyMapping_HasKeyString(PyObject *o, const char *key)

Retorna 1 si el objeto de mapeo tiene la clave key y 0 de lo contrario. Esto es equivalente a la expresión de Python key in o. Esta función siempre finaliza con éxito.

Tenga en cuenta que las excepciones que se producen al llamar al método __getitem__() y al crear un objeto de cadena de caracteres temporal se suprimirán. Para obtener informes de errores, utilice PyMapping_GetItemString() en su lugar.

PyObject* PyMapping_Keys(PyObject *o)
Return value: New reference.

En caso de éxito, retorna una lista de las claves en el objeto o. En caso de fallo, retorna NULL.

Distinto en la versión 3.7: Anteriormente, la función retornaba una lista o una tupla.

PyObject* PyMapping_Values(PyObject *o)
Return value: New reference.

En caso de éxito, retorna una lista de los valores en el objeto o. En caso de fallo, retorna NULL.

Distinto en la versión 3.7: Anteriormente, la función retornaba una lista o una tupla.

PyObject* PyMapping_Items(PyObject *o)
Return value: New reference.

En caso de éxito, retorna una lista de los elementos en el objeto o, donde cada elemento es una tupla que contiene un par clave-valor (key-value). En caso de fallo, retorna NULL.

Distinto en la versión 3.7: Anteriormente, la función retornaba una lista o una tupla.