Mapping Protocol¶
See alsoPyObject_GetItem(),PyObject_SetItem() andPyObject_DelItem().
- int
PyMapping_Check(PyObject *o)¶ Return
1if the object provides mapping protocol or supports slicing,and0otherwise. Note that it returns1for Python classes witha__getitem__()method since in general case it is impossible todetermine what type of keys it supports. This function always succeeds.
- Py_ssize_t
PyMapping_Size(PyObject *o)¶ - Py_ssize_t
PyMapping_Length(PyObject *o)¶ Returns the number of keys in objecto on success, and
-1on failure.This is equivalent to the Python expressionlen(o).
- PyObject*
PyMapping_GetItemString(PyObject *o, const char *key)¶ - Return value: New reference.
Return element ofo corresponding to the stringkey or
NULLon failure.This is the equivalent of the Python expressiono[key].See alsoPyObject_GetItem().
- int
PyMapping_SetItemString(PyObject *o, const char *key,PyObject *v)¶ Map the stringkey to the valuev in objecto. Returns
-1onfailure. This is the equivalent of the Python statemento[key]=v.See alsoPyObject_SetItem(). This functiondoes not steal areference tov.
- int
PyMapping_DelItem(PyObject *o,PyObject *key)¶ Remove the mapping for the objectkey from the objecto. Return
-1on failure. This is equivalent to the Python statementdelo[key].This is an alias ofPyObject_DelItem().
- int
PyMapping_DelItemString(PyObject *o, const char *key)¶ Remove the mapping for the stringkey from the objecto. Return
-1on failure. This is equivalent to the Python statementdelo[key].
- int
PyMapping_HasKey(PyObject *o,PyObject *key)¶ Return
1if the mapping object has the keykey and0otherwise.This is equivalent to the Python expressionkeyino.This function always succeeds.Note that exceptions which occur while calling the
__getitem__()method will get suppressed.To get error reporting usePyObject_GetItem()instead.
- int
PyMapping_HasKeyString(PyObject *o, const char *key)¶ Return
1if the mapping object has the keykey and0otherwise.This is equivalent to the Python expressionkeyino.This function always succeeds.Note that exceptions which occur while calling the
__getitem__()method and creating a temporary string object will get suppressed.To get error reporting usePyMapping_GetItemString()instead.
- PyObject*
PyMapping_Keys(PyObject *o)¶ - Return value: New reference.
On success, return a list of the keys in objecto. On failure, return
NULL.Changed in version 3.7:Previously, the function returned a list or a tuple.