映射协议

另请参阅 PyObject_GetItem() , PyObject_SetItem() and PyObject_DelItem() .

int PyMapping_Check ( PyObject * o )
属于 稳定 ABI (应用程序二进制接口) .

返回 1 if the object provides the mapping protocol or supports slicing, and 0 otherwise. Note that it returns 1 for Python classes with a __getitem__() method, since in general it is impossible to determine what type of keys the class supports. This function always succeeds.

Py_ssize_t PyMapping_Size ( PyObject * o )
Py_ssize_t PyMapping_Length ( PyObject * o )
属于 稳定 ABI (应用程序二进制接口) .

Returns the number of keys in object o on success, and -1 on failure. This is equivalent to the Python expression len(o) .

PyObject * PyMapping_GetItemString ( PyObject * o , const char * key )
返回值:新引用。 属于 稳定 ABI (应用程序二进制接口) .

这如同 PyObject_GetItem() ,但 key is specified as a const char * UTF-8 encoded bytes string, rather than a PyObject * .

int PyMapping_SetItemString ( PyObject * o , const char * key , PyObject * v )
属于 稳定 ABI (应用程序二进制接口) .

这如同 PyObject_SetItem() ,但 key is specified as a const char * UTF-8 encoded bytes string, rather than a PyObject * .

int PyMapping_DelItem ( PyObject * o , PyObject * key )

This is an alias of PyObject_DelItem() .

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

这如同 PyObject_DelItem() ,但 key is specified as a const char * UTF-8 encoded bytes string, rather than a PyObject * .

int PyMapping_HasKey ( PyObject * o , PyObject * key )
属于 稳定 ABI (应用程序二进制接口) .

返回 1 if the mapping object has the key key and 0 otherwise. This is equivalent to the Python expression key in o . This function always succeeds.

注意

Exceptions which occur when this calls __getitem__() method are silently ignored. For proper error handling, use PyObject_GetItem() 代替。

int PyMapping_HasKeyString ( PyObject * o , const char * key )
属于 稳定 ABI (应用程序二进制接口) .

这如同 PyMapping_HasKey() ,但 key is specified as a const char * UTF-8 encoded bytes string, rather than a PyObject * .

注意

Exceptions that occur when this calls __getitem__() method or while creating the temporary str object are silently ignored. For proper error handling, use PyMapping_GetItemString() 代替。

PyObject * PyMapping_Keys ( PyObject * o )
返回值:新引用。 属于 稳定 ABI (应用程序二进制接口) .

On success, return a list of the keys in object o . On failure, return NULL .

3.7 版改变: Previously, the function returned a list or a tuple.

PyObject * PyMapping_Values ( PyObject * o )
返回值:新引用。 属于 稳定 ABI (应用程序二进制接口) .

On success, return a list of the values in object o . On failure, return NULL .

3.7 版改变: Previously, the function returned a list or a tuple.

PyObject * PyMapping_Items ( PyObject * o )
返回值:新引用。 属于 稳定 ABI (应用程序二进制接口) .

On success, return a list of the items in object o , where each item is a tuple containing a key-value pair. On failure, return NULL .

3.7 版改变: Previously, the function returned a list or a tuple.

上一话题

序列协议

下一话题

迭代器协议

本页