Объекты классов и экземпляров¶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¶ Объект типа для экземпляров классов.
-
PyObject*
PyInstance_New(PyObject *class, PyObject *arg, PyObject *kw)¶ - Возвращаемое значение: новая ссылка.
Создает новый экземпляр указанного класса. Параметры arg и kw используются как позиционные и именованные параметры конструктора объекта.
-
PyObject*
PyInstance_NewRaw(PyObject *class, PyObject *dict)¶ - Возвращаемое значение: новая ссылка.
Создает новый экземпляр указанного класса без вызова его конструктора. class – класс нового объекта. Параметр dict будет использоваться как
__dict__объекта; если NULL, для экземпляра будет создан новый словарь.