Mapping Protocol

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

intPyMapping_Check(PyObject *o)

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)

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.

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)

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)

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)

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.

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.

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.

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.