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

type.md

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

1> **Источник:** https://python-all.ru/3.1/c-api/type.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Объекты типов89**`PyTypeObject`**1011C-структура объектов, используемая для описания встроенных типов.1213**[PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject)\* `PyType_Type`**1415Это объект типа для объектов типа; это тот же объект, что и1617[`type`](https://python-all.ru/3.1/library/functions.html#type)1819в слое Python.2021**int `PyType_Check`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*)**2223Возвращает истину, если объект2425*o*2627является объектом типа, включая экземпляры типов, производных от стандартного объекта типа. В остальных случаях возвращает ложь.2829**int `PyType_CheckExact`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*)**3031Возвращает истину, если объект3233*o*3435является объектом типа, но не подтипом стандартного объекта типа. В остальных случаях возвращает ложь.3637**unsigned int `PyType_ClearCache`()**3839Очищает внутренний кеш поиска. Возвращает текущий тег версии.4041**void `PyType_Modified`([PyTypeObject](https://python-all.ru/3.1/c-api/type.html#PyTypeObject) *\*type*)**4243Аннулирует внутренний кеш поиска для типа и всех его подтипов. Эта функция должна вызываться после любого ручного изменения атрибутов или базовых классов типа.4445**int `PyType_HasFeature`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*, int *feature*)**4647Возвращает истину, если объект типа4849*o*5051устанавливает признак5253*feature*5455. Признаки типа задаются одноразрядными флагами.5657**int `PyType_IS_GC`([PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*o*)**5859Возвращает истину, если объект типа поддерживает детектор циклов; это проверяет флаг типа6061[`Py_TPFLAGS_HAVE_GC`](https://python-all.ru/3.1/c-api/typeobj.html#Py_TPFLAGS_HAVE_GC)6263.6465**int `PyType_IsSubtype`([PyTypeObject](https://python-all.ru/3.1/c-api/type.html#PyTypeObject) *\*a*, [PyTypeObject](https://python-all.ru/3.1/c-api/type.html#PyTypeObject) *\*b*)**6667Возвращает истину, если6869*a*7071является подтипом7273*b*7475.7677**[PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject)\* `PyType_GenericAlloc`([PyTypeObject](https://python-all.ru/3.1/c-api/type.html#PyTypeObject) *\*type*, Py\_ssize\_t *nitems*)**7879*Возвращаемое значение: новая ссылка.*8081XXX: Документировать.8283**[PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject)\* `PyType_GenericNew`([PyTypeObject](https://python-all.ru/3.1/c-api/type.html#PyTypeObject) *\*type*, [PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*args*, [PyObject](https://python-all.ru/3.1/c-api/structures.html#PyObject) *\*kwds*)**8485*Возвращаемое значение: новая ссылка.*8687XXX: Документировать.8889**int `PyType_Ready`([PyTypeObject](https://python-all.ru/3.1/c-api/type.html#PyTypeObject) *\*type*)**9091Завершает инициализацию объекта типа. Должна вызываться для всех объектов типа, чтобы завершить их инициализацию. Эта функция отвечает за добавление наследуемых слотов из базового класса. Возвращает9293`0`9495при успехе, или9697`-1`9899и устанавливает исключение при ошибке.100