Объекты типов¶Type Objects
- PyTypeObject¶
C-структура объектов, используемая для описания встроенных типов.
- PyObject* PyType_Type¶
Это объект типа для объектов типа; это тот же объект, что и type в слое Python.
- int PyType_Check(PyObject *o)¶
Возвращает истину, если объект o является объектом типа, включая экземпляры типов, производных от стандартного объекта типа. В остальных случаях возвращает ложь.
- int PyType_CheckExact(PyObject *o)¶
Возвращает истину, если объект o является объектом типа, но не подтипом стандартного объекта типа. В остальных случаях возвращает ложь.
- unsigned int PyType_ClearCache()¶
Очищает внутренний кеш поиска. Возвращает текущий тег версии.
- long PyType_GetFlags(PyTypeObject* type)¶
Возвращает элемент tp_flags структуры type. Эта функция в первую очередь предназначена для использования с Py_LIMITED_API; отдельные биты флагов гарантированно стабильны во всех версиях Python, однако доступ к tp_flags сам по себе не является частью ограниченного API.
Новое в версии 3.2.
- void PyType_Modified(PyTypeObject *type)¶
Аннулирует внутренний кеш поиска для типа и всех его подтипов. Эта функция должна вызываться после любого ручного изменения атрибутов или базовых классов типа.
- int PyType_HasFeature(PyTypeObject *o, int feature)¶
Возвращает истину, если объект типа o устанавливает признак feature. Признаки типа задаются одноразрядными флагами.
- int PyType_IS_GC(PyTypeObject *o)¶
Возвращает истину, если объект типа поддерживает детектор циклов; это проверяет флаг типа Py_TPFLAGS_HAVE_GC.
- int PyType_IsSubtype(PyTypeObject *a, PyTypeObject *b)¶
Возвращает истину, если a является подтипом b.
- PyObject* PyType_GenericAlloc(PyTypeObject *type, Py_ssize_t nitems)¶
- Возвращаемое значение: новая ссылка.
Универсальный обработчик для слота tp_alloc объекта типа. Использует стандартный механизм распределения памяти Python для выделения нового экземпляра и инициализации всего его содержимого значением NULL.
- PyObject* PyType_GenericNew(PyTypeObject *type, PyObject *args, PyObject *kwds)¶
- Возвращаемое значение: новая ссылка.
Универсальный обработчик для слота tp_new объекта типа. Создаёт новый экземпляр, используя слот tp_alloc типа.
- int PyType_Ready(PyTypeObject *type)¶
Завершает инициализацию объекта типа. Должна вызываться для всех объектов типа, чтобы завершить их инициализацию. Эта функция отвечает за добавление наследуемых слотов из базового класса. Возвращает 0 при успехе, или -1 и устанавливает исключение при ошибке.
- PyObject* PyType_FromSpec(PyType_Spec *spec)¶
Создаёт и возвращает объект типа в куче из spec, переданного функции.
- PyObject* PyType_FromSpecWithBases(PyType_Spec *spec, PyObject *bases)¶
Создаёт и возвращает объект типа в куче из spec. Кроме того, созданный тип в куче содержит все типы из кортежа bases в качестве базовых типов. Это позволяет вызывающему коду ссылаться на другие типы в куче как на базовые типы.
Новое в версии 3.3.