On this page
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).
- 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 ) - Return value: New reference.
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 ) - Return value: New reference.
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.