Mapping Protocol

See alsoPyObject_GetItem(),PyObject_SetItem() andPyObject_DelItem().

intPyMapping_Check(PyObject *o)
Part of theStable ABI.

Return1 if the object provides the mapping protocol or supports slicing,and0 otherwise. Note that it returns1 for Python classes witha__getitem__() method, since in general it is impossible todetermine what type of keys the class supports. This function always succeeds.

Py_ssize_tPyMapping_Size(PyObject *o)
Py_ssize_tPyMapping_Length(PyObject *o)
Part of theStable ABI.

Returns the number of keys in objecto on success, and-1 on failure.This is equivalent to the Python expressionlen(o).

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

Return element ofo corresponding to the stringkey orNULL on failure.This is the equivalent of the Python expressiono[key].See alsoPyObject_GetItem().

intPyMapping_SetItemString(PyObject *o,const char *key,PyObject *v)
Part of theStable ABI.

Map the stringkey to the valuev in objecto. Returns-1 onfailure. This is the equivalent of the Python statemento[key]=v.See alsoPyObject_SetItem(). This functiondoes not steal areference tov.

intPyMapping_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().

intPyMapping_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].

intPyMapping_HasKey(PyObject *o,PyObject *key)
Part of theStable ABI.

Return1 if the mapping object has the keykey and0 otherwise.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.

intPyMapping_HasKeyString(PyObject *o,const char *key)
Part of theStable ABI.

Return1 if the mapping object has the keykey and0 otherwise.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. Part of theStable ABI.

On success, return a list of the keys in objecto. On failure, returnNULL.

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 theStable ABI.

On success, return a list of the values in objecto. On failure, returnNULL.

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 theStable ABI.

On success, return a list of the items in objecto, where each item is atuple containing a key-value pair. On failure, returnNULL.

Changed in version 3.7:Previously, the function returned a list or a tuple.