7.1.1 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 as types.TypeType in the Python layer.

int PyType_Check(PyObject *o)
Returns true if the object o is a type object, including instances of types derived from the standard type object. Returns false in all other cases.

int PyType_CheckExact(PyObject *o)
Returns true if the object o is a type object, but not a subtype of the standard type object. Returns false in all other cases. New in version 2.2.

int PyType_HasFeature(PyObject *o, int feature)
Returns true if the type object o sets the feature feature. Type features are denoted by single bit flags.

int PyType_IS_GC(PyObject *o)
Return true if the type object includes support for the cycle detector; this tests the type flag Py_TPFLAGS_HAVE_GC. New in version 2.0.

int PyType_IsSubtype(PyTypeObject *a, PyTypeObject *b)
Returns true if a is a subtype of b. New in version 2.2.

PyObject* PyType_GenericAlloc(PyTypeObject *type, int nitems)
Return value: New reference.
New in version 2.2.

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

int PyType_Ready(PyTypeObject *type)
Finalize a type object. This should be called on all type objects to finish their initialization. This function is responsible for adding inherited slots from a type's base class. Returns 0 on success, or returns -1 and sets an exception on error. New in version 2.2.

See About this document... for information on suggesting changes.