映射協(xié)議?
參見 PyObject_GetItem()、PyObject_SetItem() 與 PyObject_DelItem()。
-
int
PyMapping_Check(PyObject?*o)? 如果對(duì)象提供映射協(xié)議或支持切片則返回
1,否則返回0。 請(qǐng)注意它將為具有__getitem__()方法的 Python 類返回1,因?yàn)樵谝话闱闆r下無法確定它所支持的鍵類型。 此函數(shù)總是會(huì)成功執(zhí)行。
-
Py_ssize_t
PyMapping_Size(PyObject?*o)? -
Py_ssize_t
PyMapping_Length(PyObject?*o)? 成功時(shí)返回對(duì)象 o 中鍵的數(shù)量,失敗時(shí)返回
-1。 這相當(dāng)于 Python 表達(dá)式len(o)。
-
PyObject*
PyMapping_GetItemString(PyObject?*o, const char?*key)? - Return value: New reference.
返回 o 中對(duì)應(yīng)于字符串 key 的元素,或者失敗時(shí)返回
NULL。 這相當(dāng)于 Python 表達(dá)式o[key]。 另請(qǐng)參見 alsoPyObject_GetItem()。
-
int
PyMapping_SetItemString(PyObject?*o, const char?*key, PyObject?*v)? 在對(duì)象 o 中將字符串 key 映射到值 v。 失敗時(shí)返回
-1。 這相當(dāng)于 Python 語句o[key] = v。 另請(qǐng)參見PyObject_SetItem()。
-
int
PyMapping_DelItem(PyObject?*o, PyObject?*key)? 從對(duì)象 o 中移除對(duì)象 key 的映射。 失敗時(shí)返回
-1。 這相當(dāng)于 Python 語句del o[key]。 這是PyObject_DelItem()的一個(gè)別名。
-
int
PyMapping_DelItemString(PyObject?*o, const char?*key)? 從對(duì)象 o 中移除字符串 key 的映射。 失敗時(shí)返回
-1。 這相當(dāng)于 Python 語句del o[key]。
-
int
PyMapping_HasKey(PyObject?*o, PyObject?*key)? 如果映射對(duì)象具有鍵 key 則返回
1,否則返回0。 這相當(dāng)于 Python 表達(dá)式key in o。 此函數(shù)總是會(huì)成功執(zhí)行。請(qǐng)注意在調(diào)用
__getitem__()方法期間發(fā)生的異常將會(huì)被屏蔽。 要獲取錯(cuò)誤報(bào)告請(qǐng)改用PyObject_GetItem()。
-
int
PyMapping_HasKeyString(PyObject?*o, const char?*key)? 如果映射對(duì)象具有鍵 key 則返回
1,否則返回0。 這相當(dāng)于 Python 表達(dá)式key in o。 此函數(shù)總是會(huì)成功執(zhí)行。請(qǐng)注意在調(diào)用
__getitem__()方法期間發(fā)生的異常將會(huì)被屏蔽。 要獲取錯(cuò)誤報(bào)告請(qǐng)改用PyMapping_GetItemString()。
-
PyObject*
PyMapping_Keys(PyObject?*o)? - Return value: New reference.
成功時(shí),返回對(duì)象 o 中的鍵的列表。 失敗時(shí),返回
NULL。在 3.7 版更改: 在之前版本中,此函數(shù)返回一個(gè)列表或元組。
