映射协议

参见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  *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。返回-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如果映射对象有键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:以前,该函数返回一个列表或一个元组

评论被关闭。