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

type.md

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

1> **Источник:** https://python-all.ru/2.7/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/2.7/c-api/structures.html#c.PyObject)\* `PyType_Type`**1415Это объект типа для типов; это тот же объект, что и `type` и `types.TypeType` в слое Python.1617#### `int PyType_Check(PyObject *o)`1819Возвращает истину, если объект *o* является объектом типа, включая экземпляры типов, производных от стандартного объекта типа. В остальных случаях возвращает ложь.2021#### `int PyType_CheckExact(PyObject *o)`2223Возвращает истину, если объект *o* является объектом типа, но не подтипом стандартного объекта типа. В остальных случаях возвращает ложь.2425Новое в версии 2.2.2627#### `unsigned int PyType_ClearCache()`2829Очищает внутренний кеш поиска. Возвращает текущий тег версии.3031Новое в версии 2.6.3233#### `void PyType_Modified(PyTypeObject *type)`3435Аннулирует внутренний кеш поиска для типа и всех его подтипов. Эта функция должна вызываться после любого ручного изменения атрибутов или базовых классов типа.3637Новое в версии 2.6.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/2.7/c-api/typeobj.html#Py_TPFLAGS_HAVE_GC).4647Новое в версии 2.0.4849#### `int PyType_IsSubtype(PyTypeObject *a, PyTypeObject *b)`5051Возвращает истину, если *a* является подтипом *b*.5253Новое в версии 2.2.5455Эта функция проверяет только непосредственные подтипы, то есть [`__subclasscheck__()`](https://python-all.ru/2.7/reference/datamodel.html#class.__subclasscheck__) не вызывается для *b*. Вызовите [`PyObject_IsSubclass()`](https://python-all.ru/2.7/c-api/object.html#c.PyObject_IsSubclass), чтобы выполнить ту же проверку, что и [`issubclass()`](https://python-all.ru/2.7/library/functions.html#issubclass) .5657#### `PyObject* PyType_GenericAlloc(PyTypeObject *type nitems)`5859*Возвращаемое значение: новая ссылка.*6061Новое в версии 2.2.6263Изменено в версии 2.5: Эта функция использовала тип `int` для *nitems*. Это может потребовать изменений в вашем коде для корректной поддержки 64-разрядных систем.6465#### `PyObject* PyType_GenericNew(PyTypeObject *type, PyObject *args, PyObject *kwds)`6667*Возвращаемое значение: новая ссылка.*6869Новое в версии 2.2.7071#### `int PyType_Ready(PyTypeObject *type)`7273Завершает инициализацию объекта типа. Должна вызываться для всех объектов типа, чтобы завершить их инициализацию. Эта функция отвечает за добавление наследуемых слотов из базового класса. Возвращает `0` при успехе, или `-1` и устанавливает исключение при ошибке.7475Новое в версии 2.2.76