Mapping Protocol¶
See also PyObject_GetItem(), PyObject_SetItem() and
PyObject_DelItem().
-
int
PyMapping_Check(PyObject *o)¶ - Part of the Stable ABI.
Return
1if the object provides the mapping protocol or supports slicing, and0otherwise. Note that it returns1for 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)¶ - Part of the Stable ABI.
Returns the number of keys in object o 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. Part of the Stable ABI.
Return element of o corresponding to the string key 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)¶ - Part of the Stable ABI.
Map the string key to the value v in object o. Returns
-1on failure. This is the equivalent of the Python statemento[key] = v. See alsoPyObject_SetItem(). This function does not steal a reference to v.
-
int
PyMapping_DelItem(PyObject *o, PyObject *key)¶ Remove the mapping for the object key from the object o. Return
-1on failure. This is equivalent to the Python statementdel o[key]. This is an alias ofPyObject_DelItem().
-
int
PyMapping_DelItemString(PyObject *o, const char *key)¶ Remove the mapping for the string key from the object o. Return
-1on failure. This is equivalent to the Python statementdel o[key].
-
int
PyMapping_HasKey(PyObject *o, PyObject *key)¶ - Part of the Stable ABI.
Return
1if the mapping object has the key key and0otherwise. This is equivalent to the Python expressionkey in o. 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)¶ - Part of the Stable ABI.
Return
1if the mapping object has the key key and0otherwise. This is equivalent to the Python expressionkey in o. 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. Part of the Stable ABI.
On success, return a list of the keys in object o. On failure, return
NULL.Changed in version 3.7: Previously, the function returned a list or a tuple.
-
PyObject *
PyMapping_Values(PyObject *o)¶ - Return value: New reference. Part of the Stable ABI.
On success, return a list of the values in object o. On failure, return
NULL.Changed in version 3.7: Previously, the function returned a list or a tuple.
-
PyObject *
PyMapping_Items(PyObject *o)¶ - Return value: New reference. Part of the Stable ABI.
On success, return a list of the items in object o, where each item is a tuple containing a key-value pair. On failure, return
NULL.Changed in version 3.7: Previously, the function returned a list or a tuple.