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,constchar*key)
Return value: New reference. Part of theStable ABI.

This is the same asPyObject_GetItem(), butkey isspecified as aconstchar* UTF-8 encoded bytes string,rather than aPyObject*.

intPyMapping_GetOptionalItem(PyObject*obj,PyObject*key,PyObject**result)
Part of theStable ABI since version 3.13.

Variant ofPyObject_GetItem() which doesn’t raiseKeyError if the key is not found.

If the key is found, return1 and set*result to a newstrong reference to the corresponding value.If the key is not found, return0 and set*result toNULL;theKeyError is silenced.If an error other thanKeyError is raised, return-1 andset*result toNULL.

Added in version 3.13.

intPyMapping_GetOptionalItemString(PyObject*obj,constchar*key,PyObject**result)
Part of theStable ABI since version 3.13.

This is the same asPyMapping_GetOptionalItem(), butkey isspecified as aconstchar* UTF-8 encoded bytes string,rather than aPyObject*.

Added in version 3.13.

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

This is the same asPyObject_SetItem(), butkey isspecified as aconstchar* UTF-8 encoded bytes string,rather than aPyObject*.

intPyMapping_DelItem(PyObject*o,PyObject*key)

This is an alias ofPyObject_DelItem().

intPyMapping_DelItemString(PyObject*o,constchar*key)

This is the same asPyObject_DelItem(), butkey isspecified as aconstchar* UTF-8 encoded bytes string,rather than aPyObject*.

intPyMapping_HasKeyWithError(PyObject*o,PyObject*key)
Part of theStable ABI since version 3.13.

Return1 if the mapping object has the keykey and0 otherwise.This is equivalent to the Python expressionkeyino.On failure, return-1.

Added in version 3.13.

intPyMapping_HasKeyStringWithError(PyObject*o,constchar*key)
Part of theStable ABI since version 3.13.

This is the same asPyMapping_HasKeyWithError(), butkey isspecified as aconstchar* UTF-8 encoded bytes string,rather than aPyObject*.

Added in version 3.13.

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

Exceptions which occur when this calls__getitem__()method are silently ignored.For proper error handling, usePyMapping_HasKeyWithError(),PyMapping_GetOptionalItem() orPyObject_GetItem() instead.

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

This is the same asPyMapping_HasKey(), butkey isspecified as aconstchar* UTF-8 encoded bytes string,rather than aPyObject*.

Note

Exceptions that occur when this calls__getitem__()method or while creating the temporarystrobject are silently ignored.For proper error handling, usePyMapping_HasKeyStringWithError(),PyMapping_GetOptionalItemString() orPyMapping_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.