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 the__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 the__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.