Документация Python неофициальный перевод

mapping.md

154 строк · 5.4 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3.1/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/3.1/c-api/structures.html#PyObject) *\*o*)**1011Возвращает1213`1`1415, если объект поддерживает протокол отображения, и1617`0`1819в противном случае. Эта функция всегда завершается успешно.2021**Py\_ssize\_t `PyMapping_Size`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*)**2223**Py\_ssize\_t `PyMapping_Length`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*)**2425При успехе возвращает количество ключей в объекте *o*, а при ошибке – `-1`. Для объектов, не реализующих протокол отображения, это эквивалентно выражению Python `len(o)`.2627**int `PyMapping_DelItemString`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*, char *\*key*)**2829Удаляет отображение для объекта3031*key*3233из объекта3435*o*3637. Возвращает3839`-1`4041при ошибке. Это эквивалентно инструкции Python4243`del o[key]`4445.4647**int `PyMapping_DelItem`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*, [PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*key*)**4849Удаляет отображение для объекта5051*key*5253из объекта5455*o*5657. Возвращает5859`-1`6061при ошибке. Это эквивалентно инструкции Python6263`del o[key]`6465.6667**int `PyMapping_HasKeyString`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*, char *\*key*)**6869При успехе возвращает7071`1`7273, если объект отображения содержит ключ7475*key*7677, и7879`0`8081в противном случае. Это эквивалентно выражению Python8283`key in o`8485. Эта функция всегда завершается успешно.8687**int `PyMapping_HasKey`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*, [PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*key*)**8889Возвращает9091`1`9293, если объект отображения содержит ключ9495*key*9697, и9899`0`100101в противном случае. Это эквивалентно выражению Python102103`key in o`104105. Эта функция всегда завершается успешно.106107**[PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject)\* `PyMapping_Keys`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*)**108109*Возвращаемое значение: новая ссылка.*110111При успехе возвращает список ключей в объекте *o*. При ошибке возвращает *NULL*. Это эквивалентно выражению Python `list(o.keys())`.112113**[PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject)\* `PyMapping_Values`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*)**114115*Возвращаемое значение: новая ссылка.*116117При успехе возвращает список значений в объекте *o*. При ошибке возвращает *NULL*. Это эквивалентно выражению Python `list(o.values())`.118119**[PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject)\* `PyMapping_Items`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*)**120121*Возвращаемое значение: новая ссылка.*122123При успехе возвращает список элементов в объекте *o*, где каждый элемент – кортеж, содержащий пару «ключ-значение». При ошибке возвращает *NULL*. Это эквивалентно выражению Python `list(o.items())`.124125**[PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject)\* `PyMapping_GetItemString`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*, char *\*key*)**126127*Возвращаемое значение: новая ссылка.*128129Возвращает элемент *o*, соответствующий объекту *key*, или *NULL* при ошибке. Это эквивалентно выражению Python `o[key]`.130131**int `PyMapping_SetItemString`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*, char *\*key*, [PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*v*)**132133Сопоставляет объект134135*key*136137со значением138139*v*140141в объекте142143*o*144145. Возвращает146147`-1`148149при ошибке. Это эквивалентно инструкции Python150151`o[key] = v`152153.154