Type Objects

PyTypeObject

The C structure of the objects used to describe built-in types.

PyObject*PyType_Type

This is the type object for type objects; it is the same object astype andtypes.TypeType in the Python layer.

intPyType_Check(PyObject *o)

Return true if the objecto is a type object, including instances of typesderived from the standard type object. Return false in all other cases.

intPyType_CheckExact(PyObject *o)

Return true if the objecto is a type object, but not a subtype of thestandard type object. Return false in all other cases.

New in version 2.2.

unsigned intPyType_ClearCache()

Clear the internal lookup cache. Return the current version tag.

New in version 2.6.

voidPyType_Modified(PyTypeObject *type)

Invalidate the internal lookup cache for the type and all of itssubtypes. This function must be called after any manualmodification of the attributes or base classes of the type.

New in version 2.6.

intPyType_HasFeature(PyObject *o, int feature)

Return true if the type objecto sets the featurefeature. Type featuresare denoted by single bit flags.

intPyType_IS_GC(PyObject *o)

Return true if the type object includes support for the cycle detector; thistests the type flagPy_TPFLAGS_HAVE_GC.

New in version 2.0.

intPyType_IsSubtype(PyTypeObject *a,PyTypeObject *b)

Return true ifa is a subtype ofb.

New in version 2.2.

This function only checks for actual subtypes, which means that__subclasscheck__() is not called onb. CallPyObject_IsSubclass() to do the same check thatissubclass()would do.

PyObject*PyType_GenericAlloc(PyTypeObject *type, Py_ssize_t nitems)
Return value: New reference.

New in version 2.2.

Changed in version 2.5:This function used anint type fornitems. This might requirechanges in your code for properly supporting 64-bit systems.

PyObject*PyType_GenericNew(PyTypeObject *type,PyObject *args,PyObject *kwds)
Return value: New reference.

New in version 2.2.

intPyType_Ready(PyTypeObject *type)

Finalize a type object. This should be called on all type objects to finishtheir initialization. This function is responsible for adding inherited slotsfrom a type’s base class. Return0 on success, or return-1 and sets anexception on error.

New in version 2.2.