Protocole de correspondance¶
Voir aussi PyObject_GetItem()
, PyObject_SetItem()
et PyObject_DelItem()
.
-
int
PyMapping_Check
(PyObject *o)¶ Renvoie
1
si l'objet prend en charge le protocole de correspondance ou le découpage en tranches et0
sinon. Notez qu'elle renvoie1
pour les classes Python avec une méthode__getitem__()
puisque, dans le cas général, il est impossible de déterminer quel type de clef est pris en charge. Cette fonction ne provoque jamais d'erreur.
-
Py_ssize_t
PyMapping_Size
(PyObject *o)¶ -
Py_ssize_t
PyMapping_Length
(PyObject *o)¶ Renvoie le nombre de clefs dans l'objet o et
-1
en cas d'échec. C'est l'équivalent de l'expression Pythonlen(o)
.
-
PyObject*
PyMapping_GetItemString
(PyObject *o, const char *key)¶ - Return value: New reference.
Renvoie les éléments de o qui correspondent à la chaîne key ou NULL en cas d'échec. C'est l'équivalent de l'expression Python
o[key]
. Voir aussiPyObject_GetItem()
.
-
int
PyMapping_SetItemString
(PyObject *o, const char *key, PyObject *v)¶ Fait correspondre la chaîne key à la valeur v dans l'objet o. Renvoie
-1
en cas d'échec. C'est l'équivalent de la commande Pythono[key] = v
. Voir aussiPyObject_SetItem()
. Cette fonction ne vole pas de référence à v.
-
int
PyMapping_DelItem
(PyObject *o, PyObject *key)¶ Supprime la correspondance associée à l'objet key dans l'objet o. Renvoie
-1
en cas d'échec. C'est l'équivalent de la commande Pythondel o[key]
. C'est un alias pourPyObject_DelItem()
.
-
int
PyMapping_DelItemString
(PyObject *o, const char *key)¶ Supprime la correspondance associée à la chaîne key dans l'objet o. Renvoie
-1
en cas d'échec. C'est l'équivalent de la commande Pythondel o[key]
.
-
int
PyMapping_HasKey
(PyObject *o, PyObject *key)¶ Renvoie
1
si l'objet de correspondance possède une clef key et0
sinon. C'est l'équivalent de l'expression Pythonkey in o
. Cette fonction ne provoque jamais d'erreur.Notez que les exceptions qui surviennent pendant l'appel de la méthode
__getitem__()
seront supprimées. Pour obtenir le rapport d'erreur, utilisez plutôtPyObject_GetItem()
.
-
int
PyMapping_HasKeyString
(PyObject *o, const char *key)¶ Renvoie
1
si l'objet de correspondance possède une clef key et0
sinon. C'est l'équivalent de l'expression Pythonkey in o
. Cette fonction ne provoque jamais d'erreur.Notez que les exceptions qui surviennent en créant une chaîne de caractères temporaire pendant l'appel de la méthode
__getitem__()
seront supprimées. Pour obtenir le rapport d'erreur, utilisez plutôtPyMapping_GetItemString()
.
-
PyObject*
PyMapping_Keys
(PyObject *o)¶ - Return value: New reference.
Renvoie la liste des clefs dans l'objet o. En cas d'échec, renvoie NULL.
Modifié dans la version 3.7: Auparavant, la fonction renvoyait une liste ou un n-uplet.