Spec-Zone.ru › Python 3.9

Протокол сопоставления

См. также PyObject_GetItem(), PyObject_SetItem() и PyObject_DelItem().

int PyMapping_Check(PyObject *o)

Возвращает 1 если объект предоставляет протокол сопоставления или поддерживает срезы, и 0 в противном случае. Обратите внимание, что он возвращает 1 для классов Python с методом __getitem__(), поскольку в общем случае невозможно определить, какие типы ключей поддерживает класс. Эта функция всегда успешна.

Py_ssize_t PyMapping_Size(PyObject *o)
Py_ssize_t PyMapping_Length(PyObject *o)

Возвращает количество ключей в объекте o при успехе и -1 при ошибке. Это эквивалентно выражению Python len(o).

PyObject* PyMapping_GetItemString(PyObject *o, const char *key)
Возвращаемое значение: Новая ссылка.

Возвращает элемент o, соответствующий строке key, или NULL при ошибке. Это эквивалентно выражению Python o[key]. См. также PyObject_GetItem().

int PyMapping_SetItemString(PyObject *o, const char *key, PyObject *v)

Сопоставляет строку key со значением v в объекте o. Возвращает -1 при ошибке. Это эквивалентно оператору Python o[key] = v. См. также PyObject_SetItem(). Эта функция не заимствует ссылку на v.

int PyMapping_DelItem(PyObject *o, PyObject *key)

Удаляет сопоставление для объекта key из объекта o. Возвращает -1 при ошибке. Это эквивалентно оператору Python del o[key]. Это псевдоним для PyObject_DelItem().

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

Удаляет сопоставление для строки key из объекта o. Возвращает -1 при ошибке. Это эквивалентно оператору Python del o[key].

int PyMapping_HasKey(PyObject *o, PyObject *key)

Возвращает 1 если объект сопоставления имеет ключ key и 0 в противном случае. Это эквивалентно выражению Python key in o. Эта функция всегда успешна.

Обратите внимание, что исключения, возникающие при вызове метода __getitem__(), будут подавлены. Для получения отчетов об ошибках используйте PyObject_GetItem().

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

Возвращает 1 если объект сопоставления имеет ключ key и 0 в противном случае. Это эквивалентно выражению Python key in o. Эта функция всегда успешна.

Обратите внимание, что исключения, возникающие при вызове метода __getitem__() и создании временного строкового объекта, будут подавлены. Для получения отчетов об ошибках используйте PyMapping_GetItemString() вместо этого.

PyObject* PyMapping_Keys(PyObject *o)
Возвращаемое значение: Новая ссылка.

При успехе возвращает список ключей в объекте o. При ошибке возвращает NULL.

Изменено в версии 3.7: Ранее функция возвращала список или кортеж.

PyObject* PyMapping_Values(PyObject *o)
Возвращаемое значение: Новая ссылка.

При успехе возвращает список значений в объекте o. При ошибке возвращает NULL.

Изменено в версии 3.7: Ранее функция возвращала список или кортеж.

PyObject* PyMapping_Items(PyObject *o)
Возвращаемое значение: Новая ссылка.

При успехе возвращает список элементов в объекте o, где каждый элемент представляет собой кортеж, содержащий пару ключ-значение. При ошибке возвращает NULL.

Изменено в версии 3.7: Ранее функция возвращала список или кортеж.

© 2001–2022 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.9/c-api/mapping.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API