Протокол отображения¶Mapping Protocol
См. также PyObject_GetItem(), PyObject_SetItem() и
PyObject_DelItem().
-
int
PyMapping_Check(PyObject *o)¶ - Часть Stable ABI.
Возвращает
1, если объект предоставляет протокол отображения или поддерживает срезы, и0в противном случае. Обратите внимание, что возвращает1для классов Python с методом__getitem__(), поскольку в общем случае невозможно определить, какой тип ключей поддерживает класс. Эта функция всегда завершается успешно.
-
Py_ssize_t
PyMapping_Size(PyObject *o)¶ -
Py_ssize_t
PyMapping_Length(PyObject *o)¶ - Часть Stable ABI.
В случае успеха возвращает количество ключей в объекте o, а в случае ошибки –
-1. Это эквивалентно выражению Pythonlen(o).
-
PyObject *
PyMapping_GetItemString(PyObject *o, const char *key)¶ - Возвращаемое значение: новая ссылка. Часть Stable ABI.
Возвращает элемент o, соответствующий строке key, или
NULLпри ошибке. Это эквивалент выражения Pythono[key]. См. такжеPyObject_GetItem().
-
int
PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v)¶ - Часть Stable ABI.
Сопоставляет строку key со значением v в объекте o. Возвращает
-1при ошибке. Это эквивалент оператора Pythono[key] = v. См. такжеPyObject_SetItem(). Эта функция не крадет ссылку на v.
-
int
PyMapping_DelItem(PyObject *o, PyObject *key)¶ Удаляет отображение для объекта key из объекта o. Возвращает
-1при ошибке. Это эквивалентно оператору Pythondel o[key]. Это псевдонимPyObject_DelItem().
-
int
PyMapping_DelItemString(PyObject *o, const char *key)¶ Удаляет отображение для строки key из объекта o. Возвращает
-1при ошибке. Это эквивалентно оператору Pythondel o[key].
-
int
PyMapping_HasKey(PyObject *o, PyObject *key)¶ - Часть Stable ABI.
Возвращает
1, если объект отображения имеет ключ key, и0в противном случае. Это эквивалентно выражению Pythonkey in o. Эта функция всегда завершается успешно.Обратите внимание, что исключения, возникающие при вызове метода
__getitem__(), подавляются. Для получения сообщений об ошибках используйтеPyObject_GetItem().
-
int
PyMapping_HasKeyString(PyObject *o, const char *key)¶ - Часть Stable ABI.
Возвращает
1, если объект отображения имеет ключ key, и0в противном случае. Это эквивалентно выражению Pythonkey in o. Эта функция всегда завершается успешно.Обратите внимание, что исключения, возникающие при вызове метода
__getitem__()и создании временного строкового объекта, будут подавлены. Для получения сообщений об ошибках используйтеPyMapping_GetItemString().
-
PyObject *
PyMapping_Keys(PyObject *o)¶ - Возвращаемое значение: новая ссылка. Часть Stable ABI.
В случае успеха возвращает список ключей в объекте o. В случае ошибки возвращает
NULL.Изменено в версии 3.7: Ранее функция возвращала список или кортеж.
-
PyObject *
PyMapping_Values(PyObject *o)¶ - Возвращаемое значение: новая ссылка. Часть Stable ABI.
В случае успеха возвращает список значений в объекте o. В случае ошибки возвращает
NULL.Изменено в версии 3.7: Ранее функция возвращала список или кортеж.
-
PyObject *
PyMapping_Items(PyObject *o)¶ - Возвращаемое значение: новая ссылка. Часть Stable ABI.
В случае успеха возвращает список элементов объекта o, где каждый элемент – это кортеж, содержащий пару ключ-значение. В случае неудачи возвращает
NULL.Изменено в версии 3.7: Ранее функция возвращала список или кортеж.