Протокол сопоставления
См. также PyObject_GetItem(), PyObject_SetItem() и PyObject_DelItem().
-
int PyMapping_Check(PyObject *o) -
Часть Стабильной ABI.
Возвращает
1, если объект предоставляет протокол сопоставления или поддерживает срезы, и0в противном случае. Обратите внимание, что он возвращает1для классов Python с методом__getitem__(), так как, вообще говоря, невозможно определить, какие типы ключей поддерживает класс. Эта функция всегда выполняется успешно.
-
Py_ssize_t PyMapping_Size(PyObject *o) -
Py_ssize_t PyMapping_Length(PyObject *o) -
Часть Стабильной ABI.
Возвращает количество ключей в объекте o при успешном выполнении и
-1при ошибке. Это эквивалентно выражению Pythonlen(o).
-
PyObject *PyMapping_GetItemString(PyObject *o, const char *key) -
Значение возврата: Новая ссылка. Часть Стабильной ABI.
Возвращает элемент o, соответствующий строке key, или
NULLпри ошибке. Это эквивалентно выражению Pythono[key]. См. такжеPyObject_GetItem().
-
int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v) -
Часть Стабильной 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) -
Часть Стабильной ABI.
Возвращает
1, если объект сопоставления имеет ключ key, и0в противном случае. Это эквивалентно выражению Pythonkey in o. Эта функция всегда выполняется успешно.Обратите внимание, что исключения, возникающие при вызове метода
__getitem__(), будут подавлены. Для получения отчетов об ошибках используйтеPyObject_GetItem()вместо этого.
-
int PyMapping_HasKeyString(PyObject *o, const char *key) -
Часть Стабильной ABI.
Возвращает
1, если объект сопоставления имеет ключ key, и0в противном случае. Это эквивалентно выражению Pythonkey in o. Эта функция всегда выполняется успешно.Обратите внимание, что исключения, возникающие при вызове метода
__getitem__()и создании временного строкового объекта, будут подавлены. Для получения отчетов об ошибках используйте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: Ранее функция возвращала список или кортеж.
© 2001–2023 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.10/c-api/mapping.html