映射协议 — Python 文档

来自菜鸟教程
Python/docs/2.7/c-api/mapping
跳转至:导航、​搜索

映射协议

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)

2.5 版更改: 这些函数返回 int 类型。 这可能需要更改您的代码才能正确支持 64 位系统。

int PyMapping_DelItemString(PyObject *o, char *key)
从对象 o 中删除对象 key 的映射。 失败时返回 -1。 这相当于 Python 语句 del o[key]
int PyMapping_DelItem(PyObject *o, PyObject *key)
从对象 o 中删除对象 key 的映射。 失败时返回 -1。 这相当于 Python 语句 del o[key]
int PyMapping_HasKeyString(PyObject *o, char *key)
成功时,如果映射对象具有 key 键,则返回 1,否则返回 0。 这相当于 o[key],成功时返回 True,异常时返回 False。 此功能总是成功。
int PyMapping_HasKey(PyObject *o, PyObject *key)
如果映射对象具有 key 键,则返回 1,否则返回 0。 这相当于 o[key],成功时返回 True,异常时返回 False。 此功能总是成功。
PyObject *PyMapping_Keys(PyObject *o)
成功时,返回对象 o 中的键列表。 失败时,返回 NULL。 这相当于 Python 表达式 o.keys()
PyObject *PyMapping_Values(PyObject *o)
成功时,返回对象 o 中的值列表。 失败时,返回 NULL。 这相当于 Python 表达式 o.values()
PyObject *PyMapping_Items(PyObject *o)
成功时,返回对象 o 中的项目列表,其中每个项目是一个包含键值对的元组。 失败时,返回 NULL。 这相当于 Python 表达式 o.items()
PyObject *PyMapping_GetItemString(PyObject *o, char *key)
失败时返回与对象 keyNULL 对应的 o 的元素。 这相当于 Python 表达式 o[key]
int PyMapping_SetItemString(PyObject *o, char *key, PyObject *v)
将对象 key 映射到对象 o 中的值 v。 失败时返回 -1。 这相当于 Python 语句 o[key] = v