Protocolo de mapeo¶
Consulte también PyObject_GetItem()
, PyObject_SetItem()
y PyObject_DelItem()
.
-
int
PyMapping_Check
(PyObject *o)¶ Retorna
1
si el objeto proporciona el protocolo de mapeo o admite rebanado (slicing), y0
de lo contrario. Tenga en cuenta que retorna1
para las clases de Python con un método__getitem__()
ya que, en general, es imposible determinar qué tipo de claves admite. Esta función siempre tiene éxito.
-
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 Pythonlen(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 Pythono[key]
. Ver tambiénPyObject_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 Pythono[key] = v
. Ver tambiénPyObject_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 Pythondel o[key]
. Este es un alias dePyObject_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 Pythondel o[key]
.
-
int
PyMapping_HasKey
(PyObject *o, PyObject *key)¶ Retorna
1
si el objeto de mapeo tiene la clave key y0
de lo contrario. Esto es equivalente a la expresión de Pythonkey in o
. Esta función siempre tiene éxito.Tenga en cuenta que las excepciones que se producen al llamar al método
__getitem__()
se suprimirán. Para obtener informes de errores, utilicePyObject_GetItem()
en su lugar.
-
int
PyMapping_HasKeyString
(PyObject *o, const char *key)¶ Retorna
1
si el objeto de mapeo tiene la clave key y0
de lo contrario. Esto es equivalente a la expresión de Pythonkey in o
. Esta función siempre tiene é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, utilicePyMapping_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.