Документация Python неофициальный перевод

Объекты классов и экземпляровClass and Instance Objects

Обратите внимание, что описанные здесь объекты классов представляют классы старого стиля, которые будут удалены в Python 3. При создании новых типов для модулей расширения следует работать с объектами типов (раздел Type Objects).

PyClassObject
C-структура объектов, используемых для описания встроенных классов.
PyObject* PyClass_Type

Это объект типа для объектов классов; это тот же объект, что и types.ClassType в слое Python.

int PyClass_Check(PyObject *o)
Возвращает true, если объект o является объектом класса, включая экземпляры типов, производных от стандартного объекта класса. Возвращает false во всех остальных случаях.
int PyClass_IsSubclass(PyObject *klass, PyObject *base)
Возвращает true, если klass является подклассом base. Возвращает false во всех остальных случаях.

Функций, специфичных для объектов экземпляров, очень мало.

PyTypeObject PyInstance_Type
Объект типа для экземпляров классов.
int PyInstance_Check(PyObject *obj)
Возвращает true, если obj является экземпляром.
PyObject* PyInstance_New(PyObject *class, PyObject *arg, PyObject *kw)
Возвращаемое значение: новая ссылка.

Создает новый экземпляр указанного класса. Параметры arg и kw используются как позиционные и именованные параметры конструктора объекта.

PyObject* PyInstance_NewRaw(PyObject *class, PyObject *dict)
Возвращаемое значение: новая ссылка.

Создаёт новый экземпляр указанного класса без вызова его конструктора. class – это класс нового объекта. Параметр dict будет использоваться как __dict__ объекта; если NULL, для экземпляра будет создан новый словарь.