type.md
1> **Источник:** https://python-all.ru/3.2/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.2/c-api/structures.html#PyObject)\* `PyType_Type`**1415Это объект типа для объектов типа; это тот же объект, что и [`type`](https://python-all.ru/3.2/library/functions.html#type) в слое Python.1617#### `int PyType_Check(PyObject *o)`1819Возвращает истину, если объект *o* является объектом типа, включая экземпляры типов, производных от стандартного объекта типа. В остальных случаях возвращает ложь.2021#### `int PyType_CheckExact(PyObject *o)`2223Возвращает истину, если объект *o* является объектом типа, но не подтипом стандартного объекта типа. В остальных случаях возвращает ложь.2425#### `unsigned int PyType_ClearCache()`2627Очищает внутренний кеш поиска. Возвращает текущий тег версии.2829#### `long PyType_GetFlags(PyTypeObject* type)`3031Возвращает член `tp_flags` объекта *type*. Эта функция в первую очередь предназначена для использования с *Py\_LIMITED\_API*; отдельные биты флагов гарантированно стабильны между версиями Python, но сам доступ к `tp_flags` не является частью ограниченного API.3233Новое в версии 3.2.3435#### `void PyType_Modified(PyTypeObject *type)`3637Аннулирует внутренний кеш поиска для типа и всех его подтипов. Эта функция должна вызываться после любого ручного изменения атрибутов или базовых классов типа.3839#### `int PyType_HasFeature(PyObject *o, int feature)`4041Возвращает истину, если объект типа *o* устанавливает признак *feature*. Признаки типа задаются одноразрядными флагами.4243#### `int PyType_IS_GC(PyObject *o)`4445Возвращает истину, если объект типа поддерживает детектор циклов; это проверяет флаг типа [`Py_TPFLAGS_HAVE_GC`](https://python-all.ru/3.2/c-api/typeobj.html#Py_TPFLAGS_HAVE_GC).4647#### `int PyType_IsSubtype(PyTypeObject *a, PyTypeObject *b)`4849Возвращает истину, если *a* является подтипом *b*.5051#### `PyObject* PyType_GenericAlloc(PyTypeObject *type, Py_ssize_t nitems)`5253*Возвращаемое значение: новая ссылка.*5455XXX: Документировать.5657#### `PyObject* PyType_GenericNew(PyTypeObject *type, PyObject *args, PyObject *kwds)`5859*Возвращаемое значение: новая ссылка.*6061XXX: Документировать.6263#### `int PyType_Ready(PyTypeObject *type)`6465Завершает инициализацию объекта типа. Должна вызываться для всех объектов типа, чтобы завершить их инициализацию. Эта функция отвечает за добавление наследуемых слотов из базового класса. Возвращает `0` при успехе, или `-1` и устанавливает исключение при ошибке.66