映射协议¶
也见 PyObject_GetItem()
, PyObject_SetItem()
和 PyObject_DelItem()
.
-
int PyMapping_Check(PyObject *o)¶
返回
1
如果对象提供映射协议或支持切片,以及0
否则。注意它会返回1
对于具有__getitem__()
方法,因为通常情况下无法确定它支持哪种类型的键。这个函数总是成功的。
-
Py_ssize_t PyMapping_Size(PyObject *o)¶
-
Py_ssize_t PyMapping_Length(PyObject *o)¶
返回对象中的键数 o 论成功
-1
失败论。这相当于python表达式len(o)
.
-
PyObject *PyMapping_GetItemString(PyObject *o, const char *key)¶
- Return value: New reference.
返回元素 o 对应于字符串 key 或
NULL
失败论。这相当于python表达式o[key]
. 也见PyObject_GetItem()
.
-
int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v)¶
映射字符串 key 价值观 v 在宾语中 o . 退换商品
-1
失败论。这相当于python语句o[key] = v
. 也见PyObject_SetItem()
. 这个函数 不 窃取对的引用 v .
-
int PyMapping_DelItem(PyObject *o, PyObject *key)¶
删除对象的映射 key 从对象 o . 返回
-1
失败时。这相当于python语句del o[key]
. 这是的别名PyObject_DelItem()
.
-
int PyMapping_DelItemString(PyObject *o, const char *key)¶
删除字符串的映射 key 从对象 o . 返回
-1
失败时。这相当于python语句del o[key]
.
-
int PyMapping_HasKey(PyObject *o, PyObject *key)¶
返回
1
如果映射对象具有键 key 和0
否则。这相当于python表达式key in o
. 此函数总是成功的。请注意,调用
__getitem__()
方法将被抑制。要获取错误报告,请使用PyObject_GetItem()
相反。
-
int PyMapping_HasKeyString(PyObject *o, const char *key)¶
返回
1
如果映射对象具有键 key 和0
否则。这相当于python表达式key in o
. 此函数总是成功的。请注意,调用
__getitem__()
方法和创建临时字符串对象将被禁止。要获取错误报告,请使用PyMapping_GetItemString()
相反。
-
PyObject *PyMapping_Keys(PyObject *o)¶
- Return value: New reference.
成功后,返回对象中的键列表 o . 失败时返回
NULL
.在 3.7 版更改: 在此之前,函数返回了一个列表或元组。