Протокол сопоставления¶
См. также 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)¶ - Return value: New reference.
Возвращает элемент 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в противном случае. Это эквивалентно Pythonkey in oвыражению. Эта функция всегда выполняется успешно.Следует отметить, что исключения, возникающие при вызове метода
__getitem__(), будут подавлены. Чтобы получить отчет об ошибках, используйтеPyObject_GetItem().
- 
int 
PyMapping_HasKeyString(PyObject *o, const char *key)¶ Возвращает
1, если объект содержит мэппинг ключа key и0в противном случае. Это эквивалентно Pythonkey in oвыражению. Эта функция всегда выполняется успешно.Следует отметить, что исключения, возникающие при вызове метода
__getitem__()и создании временного объекта строки, будут подавлены. Чтобы получить отчет об ошибках, используйтеPyMapping_GetItemString().
- 
PyObject* 
PyMapping_Keys(PyObject *o)¶ - Return value: New reference.
При успешном выполнении возвращает список ключей в o объекте. При отказе возвращает
NULL.Изменено в версии 3.7: Ранее функция возвращала список или кортеж.
 
- 
PyObject* 
PyMapping_Values(PyObject *o)¶ - Return value: New reference.
При успешном выполнении возвращает список значений в o объекте. При отказе возвращает
NULL.Изменено в версии 3.7: Ранее функция возвращала список или кортеж.
 
- 
PyObject* 
PyMapping_Items(PyObject *o)¶ - Return value: New reference.
При успешном выполнении возвращает список элементов в объекте o, где каждый элемент представляет собой кортеж, содержащий пару ключ-значение. При отказе возвращает
NULL.Изменено в версии 3.7: Ранее функция возвращала список или кортеж.
 
