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