Объекты классов и экземпляров¶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, для экземпляра будет создан новый словарь.