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

class.md

64 строк · 4.0 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/2.6/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.6/c-api/type.html#typeobjects)).1011**`PyClassObject`**1213C-структура объектов, используемых для описания встроенных классов.1415**[PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject)\* `PyClass_Type`**1617Это объект типа для объектов классов; это тот же объект, что и `types.ClassType` в слое Python.1819**int `PyClass_Check`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*o*)**2021Возвращает true, если объект2223*o*2425является объектом класса, включая экземпляры типов, производных от стандартного объекта класса. Возвращает false во всех остальных случаях.2627**int `PyClass_IsSubclass`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*klass*, [PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*base*)**2829Возвращает true, если3031*klass*3233является подклассом3435*base*3637. Возвращает false во всех остальных случаях.3839Функций, специфичных для объектов экземпляров, очень мало.4041**[PyTypeObject](https://python-all.ru/2.6/c-api/type.html#PyTypeObject) `PyInstance_Type`**4243Объект типа для экземпляров классов.4445**int `PyInstance_Check`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*obj*)**4647Возвращает true, если4849*obj*5051является экземпляром.5253**[PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject)\* `PyInstance_New`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*class*, [PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*arg*, [PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*kw*)**5455*Возвращаемое значение: новая ссылка.*5657Создает новый экземпляр указанного класса. Параметры *arg* и *kw* используются как позиционные и именованные параметры конструктора объекта.5859**[PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject)\* `PyInstance_NewRaw`([PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*class*, [PyObject](https://python-all.ru/2.6/c-api/structures.html#PyObject) *\*dict*)**6061*Возвращаемое значение: новая ссылка.*6263Создаёт новый экземпляр указанного класса без вызова его конструктора. *class* – это класс нового объекта. Параметр *dict* будет использоваться как `__dict__` объекта; если *NULL*, для экземпляра будет создан новый словарь.64