Class and Instance Objects
Note that the class objects described here represent old-style classes, which
will go away in Python 3. When creating new types for extension modules, you
will want to work with type objects (section Type Objects).
-
PyClassObject
The C structure of the objects used to describe built-in classes.
-
PyObject* PyClass_Type
This is the type object for class objects; it is the same object as
types.ClassType in the Python layer.
-
int PyClass_Check(PyObject *o)
Return true if the object o is a class object, including instances of types
derived from the standard class object. Return false in all other cases.
-
int PyClass_IsSubclass(PyObject *klass, PyObject *base)
Return true if klass is a subclass of base. Return false in all other cases.
There are very few functions specific to instance objects.
-
PyTypeObject PyInstance_Type
Type object for class instances.
-
int PyInstance_Check(PyObject *obj)
Return true if obj is an instance.
-
PyObject* PyInstance_New(PyObject *class, PyObject *arg, PyObject *kw)
Create a new instance of a specific class. The parameters arg and kw are
used as the positional and keyword parameters to the object’s constructor.
-
PyObject* PyInstance_NewRaw(PyObject *class, PyObject *dict)
Create a new instance of a specific class without calling its constructor.
class is the class of new object. The dict parameter will be used as the
object’s __dict__; if NULL, a new dictionary will be created for the
instance.