映射协议 – 抽象对象层(Python教程)(参考资料)
映射协议
参见PyObject_GetItem()
, PyObject_SetItem()
和PyObject_DelItem()
.
- int
PyMapping_Check
( PyObject *o) - return
1
如果对象提供映射协议或支持切片,0
除此以外。请注意,对于带有1
方法的Python类,它返回__getitem__()
,因为通常情况下无法确定它支持的键类型。这个功能总是在
- 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
onFailure处。这相当于Python语句o[key] = v
。参见PyObject_SetItem()
.
- 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:以前,该函数返回一个列表或元组.
- PyObject*
PyMapping_Values
( PyObject *o) - Return value: New reference.
成功时,返回对象o中的值列表。失败时,返回NULL.
更改版本3.7:以前,该函数返回一个列表或元组.
- PyObject*
PyMapping_Items
( PyObject *o) - Return value: New reference.
成功时,返回对象o中的项目列表,其中每个项目都是包含键值对的元素。失败时,返回NULL.
更改版本3.7:以前,该函数返回一个列表或一个元组
评论被关闭。