mapping.md
1> **Источник:** https://python-all.ru/2.6/c-api/mapping.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Протокол отображения89**int `PyMapping_Check`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*o*)**1011Возвращает1213`1`1415, если объект поддерживает протокол отображения, и1617`0`1819в противном случае. Эта функция всегда завершается успешно.2021**Py\_ssize\_t `PyMapping_Size`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*o*)**2223**Py\_ssize\_t `PyMapping_Length`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*o*)**2425При успехе возвращает количество ключей в объекте *o*, а при ошибке – `-1`. Для объектов, не реализующих протокол отображения, это эквивалентно выражению Python `len(o)`.2627Изменено в версии 2.5: Эти функции возвращали значение типа `int`. Это может потребовать изменений в коде для корректной поддержки 64-битных систем.2829**int `PyMapping_DelItemString`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*o*, char *\*key*)**3031Удаляет отображение для объекта3233*key*3435из объекта3637*o*3839. Возвращает4041`-1`4243при ошибке. Это эквивалентно инструкции Python4445`del o[key]`4647.4849**int `PyMapping_DelItem`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*o*, [PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*key*)**5051Удаляет отображение для объекта5253*key*5455из объекта5657*o*5859. Возвращает6061`-1`6263при ошибке. Это эквивалентно инструкции Python6465`del o[key]`6667.6869**int `PyMapping_HasKeyString`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*o*, char *\*key*)**7071В случае успеха возвращает7273`1`7475, если объект отображения содержит ключ7677*key*7879, и8081`0`8283в противном случае. Это эквивалентно8485`o[key]`8687, возвращая8889`True`9091при успехе и9293`False`9495при исключении. Эта функция всегда завершается успешно.9697**int `PyMapping_HasKey`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*o*, [PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*key*)**9899Возвращает100101`1`102103, если объект отображения содержит ключ104105*key*106107, и108109`0`110111в противном случае. Это эквивалентно112113`o[key]`114115, возвращая116117`True`118119при успехе и120121`False`122123при исключении. Эта функция всегда завершается успешно.124125**[PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject)\* `PyMapping_Keys`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*o*)**126127*Возвращаемое значение: новая ссылка.*128129В случае успеха возвращает список ключей в объекте *o*. В случае неудачи возвращает *NULL*. Это эквивалентно выражению Python `o.keys()`.130131**[PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject)\* `PyMapping_Values`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*o*)**132133*Возвращаемое значение: новая ссылка.*134135В случае успеха возвращает список значений в объекте *o*. В случае неудачи возвращает *NULL*. Это эквивалентно выражению Python `o.values()`.136137**[PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject)\* `PyMapping_Items`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*o*)**138139*Возвращаемое значение: новая ссылка.*140141В случае успеха возвращает список элементов в объекте *o*, где каждый элемент – это кортеж содержащий пару ключ-значение. В случае неудачи возвращает *NULL*. Это эквивалентно выражению Python `o.items()`.142143**[PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject)\* `PyMapping_GetItemString`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*o*, char *\*key*)**144145*Возвращаемое значение: новая ссылка.*146147Возвращает элемент *o*, соответствующий объекту *key*, или *NULL* при ошибке. Это эквивалентно выражению Python `o[key]`.148149**int `PyMapping_SetItemString`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*o*, char *\*key*, [PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*v*)**150151Сопоставляет объект152153*key*154155со значением156157*v*158159в объекте160161*o*162163. Возвращает164165`-1`166167при ошибке. Это эквивалентно инструкции Python168169`o[key] = v`170171.172