You are here:  Home » Python » 映射协议 – 抽象对象层(Python教程)(参考资料)

映射协议

参见PyObject_GetItem(), PyObject_SetItem()PyObject_DelItem().

int PyMapping_Check PyObject  *o
return 1如果对象提供映射协议或支持切片,0除此以外。请注意,对于带有1方法的Python类,它返回__getitem__(),因为通常情况下无法确定它支持的键类型。这个功能总是在
Py_ssize_t PyMapping_Size PyObject  *o
Py_ssize_t PyMapping_Length PyObject  *o

成功时返回对象o中的键数,-1失败。这相当于Python表达式len(o).

PyObject * PyMapping_GetItemString PyObject  *oconst char  *key
Return value: New reference.

返回o对应字符串keyNULL失败。这相当于Python表达式o[key]。参见PyObject_GetItem().

int PyMapping_SetItemString PyObject  *o,const char *key,PyObject  *v
将字符串key映射到值v在对象o。返回-1onFailure处。这相当于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如果映射对象有键key0否则。这相当于Python表达式key in o。这个函数总是成功的.

注意调用__getitem__()方法时出现的异常会被抑制。要获得错误报告,请使用PyObject_GetItem()而不是

int PyMapping_HasKeyString PyObject  *o,const char  *key
返回1如果映射对象有密钥key0否则。这相当于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:以前,该函数返回一个列表或一个元组

评论被关闭。