Mapping Protocol
-
int
PyMapping_Check
(PyObject ** o *)- 如果对象提供了 Map 协议,则返回
1
,否则返回0
。此Function始终成功。
- 如果对象提供了 Map 协议,则返回
-
Py_ssize_t
PyMapping_Size
(PyObject ** o *) -
Py_ssize_t
PyMapping_Length
(PyObject ** o *)- 成功时返回对象* o *中的键数,失败时返回
-1
。对于不提供 Map 协议的对象,这等效于 Python 表达式len(o)
。
- 成功时返回对象* o *中的键数,失败时返回
在版本 2.5 中进行了更改:这些函数返回了int
类型。这可能需要更改您的代码以正确支持 64 位系统。
-
int
PyMapping_DelItemString
(PyObject *o ,char key *)- 从对象* o 中删除对象 key *的 Map。失败返回
-1
。这等效于 Python 语句del o[key]
。
- 从对象* o 中删除对象 key *的 Map。失败返回
-
int
PyMapping_DelItem
(PyObject *o ,PyObject key *)- 从对象* o 中删除对象 key *的 Map。失败返回
-1
。这等效于 Python 语句del o[key]
。
- 从对象* o 中删除对象 key *的 Map。失败返回
-
int
PyMapping_HasKeyString
(PyObject *o ,char key *)- 成功时,如果 Map 对象具有键* key *,则返回
1
,否则返回0
。这等效于o[key]
,如果成功则返回True
,如果异常则返回False
。此Function始终成功。
- 成功时,如果 Map 对象具有键* key *,则返回
-
int
PyMapping_HasKey
(PyObject *o ,PyObject key *)- 如果 Map 对象具有键* key *,则返回
1
,否则返回0
。这等效于o[key]
,如果成功则返回True
,如果异常则返回False
。此Function始终成功。
- 如果 Map 对象具有键* key *,则返回
-
PyObject *
PyMapping_Keys
(PyObject ** o *)- 返回值:新参考.
成功后,返回对象* o 中的键列表。失败时,返回 NULL *。这等效于 Python 表达式o.keys()
。
成功后,返回对象* o 中的值列表。失败时,返回 NULL *。这等效于 Python 表达式o.values()
。
成功后,返回对象* o 中的项目列表,其中每个项目都是包含键值对的 Tuples。失败时,返回 NULL *。这等效于 Python 表达式o.items()
。
返回* o 的元素,失败时对应于对象 key 或 NULL *。这等效于 Python 表达式o[key]
。