映射�议¶

�� PyObject_GetItem()�PyObject_SetItem() 与 PyObject_DelItem()。

int PyMapping_Check(PyObject *o)¶
属于 稳定 ABI.

如果对象�供了映射�议或是支�切片则返回 1,�则返回 0。 请注�它将为具有 __getitem__() 方法的 Python 类返回 1,因为在通常情况下无法确定该类支�哪�键类型。 此函数总是会�功执行。

Py_ssize_t PyMapping_Size(PyObject *o)¶
Py_ssize_t PyMapping_Length(PyObject *o)¶
属于 稳定 ABI.

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

PyObject *PyMapping_GetItemString(PyObject *o, const char *key)¶
返回值:新的引用。 属于 稳定 ABI.

这与 PyObject_GetItem() 相�,但 key 被指定为 const char* UTF-8 编�的字节串,而�是 PyObject*。

int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v)¶
属于 稳定 ABI.

这与 PyObject_SetItem() 相�,但 key 被指定为 const char* UTF-8 编�的字节串,而�是 PyObject*。

int PyMapping_DelItem(PyObject *o, PyObject *key)¶

这是 PyObject_DelItem() 的一个别�。

int PyMapping_DelItemString(PyObject *o, const char *key)¶

这与 PyObject_DelItem() 相�,但 key 被指定为 const char* UTF-8 编�的字节串,而�是 PyObject*。

int PyMapping_HasKey(PyObject *o, PyObject *key)¶
属于 稳定 ABI.

如果映射对象具有键 key 则返回 1,�则返回 0。 这相当于 Python 表达� key in o。 此函数总是会�功执行。

备注

在调用 __getitem__() 方法时�生的异常将被�默地忽略。 想�进行适当的错误处�,请改用 PyObject_GetItem()。

int PyMapping_HasKeyString(PyObject *o, const char *key)¶
属于 稳定 ABI.

这与 PyMapping_HasKey() 相�,但 key 被指定为 const char* UTF-8 编�的字节串,而�是 PyObject*。

备注

在调用 __getitem__() 方法或创建临时 str 对象时�生的异常将被忽略。 想�进行适当的错误处�,请改用 PyMapping_GetItemString()。

PyObject *PyMapping_Keys(PyObject *o)¶
返回值:新的引用。 属于 稳定 ABI.

�功时,返回对象 o 中的键的列表。 失败时,返回 NULL。

在 3.7 版本�生�更: 在之�版本中,此函数返回一个列表或元组。

PyObject *PyMapping_Values(PyObject *o)¶
返回值:新的引用。 属于 稳定 ABI.

�功时,返回对象 o 中的值的列表。 失败时,返回 NULL。

在 3.7 版本�生�更: 在之�版本中,此函数返回一个列表或元组。

PyObject *PyMapping_Items(PyObject *o)¶
返回值:新的引用。 属于 稳定 ABI.

�功时,返回对象 o 中�目的列表,其中�个�目是一个包�键值对的元组。 失败时,返回 NULL。

在 3.7 版本�生�更: 在之�版本中,此函数返回一个列表或元组。