class.md
1> **Источник:** https://python-all.ru/2.7/c-api/class.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Объекты классов и экземпляров89Обратите внимание, что описанные здесь объекты классов представляют классы старого стиля, которые будут удалены в Python 3. При создании новых типов для модулей расширения следует работать с объектами типов (раздел [Type Objects](https://python-all.ru/2.7/c-api/type.html#typeobjects)).1011**`PyClassObject`**1213C-структура объектов, используемых для описания встроенных классов.1415**[PyObject](https://python-all.ru/2.7/c-api/structures.html#c.PyObject)\* `PyClass_Type`**1617Это объект типа для объектов классов; тот же объект, что и `types.ClassType` в слое Python.1819#### `int PyClass_Check(PyObject *o)`2021Возвращает true, если объект *o* является объектом класса, включая экземпляры типов, производных от стандартного объекта класса. Возвращает false во всех остальных случаях.2223#### `int PyClass_IsSubclass(PyObject *klass, PyObject *base)`2425Возвращает true, если *klass* является подклассом *base*. Возвращает false во всех остальных случаях.2627Функций, специфичных для объектов экземпляров, очень мало.2829**[PyTypeObject](https://python-all.ru/2.7/c-api/type.html#c.PyTypeObject) `PyInstance_Type`**3031Объект типа для экземпляров классов.3233#### `int PyInstance_Check(PyObject *obj)`3435Возвращает true, если *obj* является экземпляром.3637#### `PyObject* PyInstance_New(PyObject *class, PyObject *arg, PyObject *kw)`3839*Возвращаемое значение: новая ссылка.*4041Создает новый экземпляр указанного класса. Параметры *arg* и *kw* используются как позиционные и именованные параметры конструктора объекта.4243#### `PyObject* PyInstance_NewRaw(PyObject *class, PyObject *dict)`4445*Возвращаемое значение: новая ссылка.*4647Создает новый экземпляр указанного класса без вызова его конструктора. *class* – класс нового объекта. Параметр *dict* будет использоваться как [`__dict__`](https://python-all.ru/2.7/library/stdtypes.html#object.__dict__) объекта; если *NULL*, для экземпляра будет создан новый словарь.48