Mapping Protocol

int PyMapping_Check(PyObject *o)

如果对象提供映射协议,则返回1,否则返回0此函数总是成功。

Py_ssize_t PyMapping_Size(PyObject *o)
Py_ssize_t PyMapping_Length(PyObject *o)

返回成功时对象o中的键数,失败时返回-1对于不提供映射协议的对象,这等同于Python表达式len(o)

int PyMapping_DelItemString(PyObject *o, const char *key)

从对象o中删除对象的映射。失败时返回-1这等同于Python语句del o [key]

int PyMapping_DelItem(PyObject *o, PyObject *key)

从对象o中删除对象的映射。失败时返回-1这等同于Python语句del o [key]

int PyMapping_HasKeyString(PyObject *o, const char *key)

成功时,如果映射对象具有键0,则返回1这等同于 o中的Python表达式 此函数总是成功。

int PyMapping_HasKey(PyObject *o, PyObject *key)

如果映射对象具有键0,则返回1这等同于 o中的Python表达式 此函数总是成功。

PyObject* PyMapping_Keys(PyObject *o)
返回值:新引用。

成功时,返回对象o中键的字典的列表,元组或字典视图。失败时,返回NULL

PyObject* PyMapping_Values(PyObject *o)
返回值:新引用。

成功时,返回对象o中的值的列表,元组或字典视图(如果是dict)。失败时,返回NULL

PyObject* PyMapping_Items(PyObject *o)
返回值:新引用。

成功时,返回对象o中项目的列表,元组或字典视图,其中每个项目都是包含键值对的元组。失败时,返回NULL

PyObject* PyMapping_GetItemString(PyObject *o, const char *key)
返回值:新引用。

在失败时返回与对象NULL对应的o的元素。这等效于Python表达式o[key]

int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v)

将对象映​​射到对象o中的值v失败时返回-1这等效于Python语句o [key] = v