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

Объекты типовType Objects

PyTypeObject

C-структура объектов, используемая для описания встроенных типов.

PyObject* PyType_Type

Это объект типа для типов; это тот же объект, что и type и types.TypeType в слое Python.

int PyType_Check(PyObject *o)

Возвращает истину, если объект o является объектом типа, включая экземпляры типов, производных от стандартного объекта типа. В остальных случаях возвращает ложь.

int PyType_CheckExact(PyObject *o)

Возвращает истину, если объект o является объектом типа, но не подтипом стандартного объекта типа. В остальных случаях возвращает ложь.

Новое в версии 2.2.

unsigned int PyType_ClearCache()

Очищает внутренний кеш поиска. Возвращает текущий тег версии.

Новое в версии 2.6.

void PyType_Modified(PyTypeObject *type)

Аннулирует внутренний кеш поиска для типа и всех его подтипов. Эта функция должна вызываться после любого ручного изменения атрибутов или базовых классов типа.

Новое в версии 2.6.

int PyType_HasFeature(PyObject *o, int feature)

Возвращает истину, если объект типа o устанавливает признак feature. Признаки типа задаются одноразрядными флагами.

int PyType_IS_GC(PyObject *o)

Возвращает истину, если объект типа поддерживает детектор циклов; это проверяет флаг типа Py_TPFLAGS_HAVE_GC.

Новое в версии 2.0.

int PyType_IsSubtype(PyTypeObject *a, PyTypeObject *b)

Возвращает истину, если a является подтипом b.

Новое в версии 2.2.

Эта функция проверяет только непосредственные подтипы, то есть __subclasscheck__() не вызывается для b. Вызовите PyObject_IsSubclass(), чтобы выполнить ту же проверку, что и issubclass() .

PyObject* PyType_GenericAlloc(PyTypeObject *type nitems)
Возвращаемое значение: новая ссылка.

Новое в версии 2.2.

Изменено в версии 2.5: Эта функция использовала тип int для nitems. Это может потребовать изменений в вашем коде для корректной поддержки 64-разрядных систем.

PyObject* PyType_GenericNew(PyTypeObject *type, PyObject *args, PyObject *kwds)
Возвращаемое значение: новая ссылка.

Новое в версии 2.2.

int PyType_Ready(PyTypeObject *type)

Завершает инициализацию объекта типа. Должна вызываться для всех объектов типа, чтобы завершить их инициализацию. Эта функция отвечает за добавление наследуемых слотов из базового класса. Возвращает 0 при успехе, или -1 и устанавливает исключение при ошибке.

Новое в версии 2.2.