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

mapping.md

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

1> **Источник:** https://python-all.ru/3.0/c-api/mapping.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Протокол отображения89**\[PyMapping\_Check\]int `PyMapping_Check`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*)**1011Возвращает1213`1`1415, если объект поддерживает протокол отображения, и1617`0`1819в противном случае. Эта функция всегда завершается успешно.2021**\[PyMapping\_Length\]Py\_ssize\_t `PyMapping_Length`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*)**2223При успехе возвращает количество ключей в объекте *o*, а при ошибке – `-1`. Для объектов, не реализующих протокол отображения, это эквивалентно выражению Python `len(o)`.2425**\[PyMapping\_DelItemString\]int `PyMapping_DelItemString`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*, char *\*key*)**2627Удаляет отображение для объекта2829*key*3031из объекта3233*o*3435. Возвращает3637`-1`3839при ошибке. Это эквивалентно инструкции Python4041`del o[key]`4243.4445**\[PyMapping\_DelItem\]int `PyMapping_DelItem`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*, [PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*key*)**4647Удаляет отображение для объекта4849*key*5051из объекта5253*o*5455. Возвращает5657`-1`5859при ошибке. Это эквивалентно инструкции Python6061`del o[key]`6263.6465**\[PyMapping\_HasKeyString\]int `PyMapping_HasKeyString`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*, char *\*key*)**6667При успехе возвращает6869`1`7071, если объект отображения содержит ключ7273*key*7475, и7677`0`7879в противном случае. Это эквивалентно выражению Python8081`key in o`8283. Эта функция всегда завершается успешно.8485**\[PyMapping\_HasKey\]int `PyMapping_HasKey`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*, [PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*key*)**8687Возвращает8889`1`9091, если объект отображения содержит ключ9293*key*9495, и9697`0`9899в противном случае. Это эквивалентно выражению Python100101`key in o`102103. Эта функция всегда завершается успешно.104105**\[PyMapping\_Keys\][PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject)\* `PyMapping_Keys`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*)**106107*Возвращаемое значение: новая ссылка.*108109В случае успеха возвращает список ключей в объекте *o*. В случае неудачи возвращает *NULL*. Это эквивалентно выражению Python `o.keys()`.110111**\[PyMapping\_Values\][PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject)\* `PyMapping_Values`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*)**112113*Возвращаемое значение: новая ссылка.*114115В случае успеха возвращает список значений в объекте *o*. В случае неудачи возвращает *NULL*. Это эквивалентно выражению Python `o.values()`.116117**\[PyMapping\_Items\][PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject)\* `PyMapping_Items`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*)**118119*Возвращаемое значение: новая ссылка.*120121В случае успеха возвращает список элементов в объекте *o*, где каждый элемент – это кортеж содержащий пару ключ-значение. В случае неудачи возвращает *NULL*. Это эквивалентно выражению Python `o.items()`.122123**\[PyMapping\_GetItemString\][PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject)\* `PyMapping_GetItemString`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*, char *\*key*)**124125*Возвращаемое значение: новая ссылка.*126127Возвращает элемент *o*, соответствующий объекту *key*, или *NULL* при ошибке. Это эквивалентно выражению Python `o[key]`.128129**\[PyMapping\_SetItemString\]int `PyMapping_SetItemString`([PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*o*, char *\*key*, [PyObject](https://python-all.ru/3.0/c-api/structures.html#PyObject) *\*v*)**130131Сопоставляет объект132133*key*134135со значением136137*v*138139в объекте140141*o*142143. Возвращает144145`-1`146147при ошибке. Это эквивалентно инструкции Python148149`o[key] = v`150151.152