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

method.md

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

1> **Источник:** https://python-all.ru/3.15/c-api/method.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Объекты методов экземпляра89Метод экземпляра – это обёртка для [`PyCFunction`](https://python-all.ru/3.15/c-api/structures.html#c.PyCFunction) и новый способ привязки `PyCFunction` к объекту класса. Он заменяет прежний вызов `PyMethod_New(func, NULL, class)`.1011#### `PyTypeObject PyInstanceMethod_Type`1213Этот экземпляр [`PyTypeObject`](https://python-all.ru/3.15/c-api/type.html#c.PyTypeObject) представляет тип метода экземпляра Python. Он не доступен программам на Python.1415#### `int PyInstanceMethod_Check(PyObject *o)`1617Возвращает true, если *o* является объектом метода экземпляра (имеет тип [`PyInstanceMethod_Type`](https://python-all.ru/3.15/c-api/method.html#c.PyInstanceMethod_Type)). Параметр не должен быть `NULL`. Эта функция всегда выполняется успешно.1819#### `PyObject *PyInstanceMethod_New(PyObject *func)`2021*Возвращаемое значение: новая ссылка.*2223Возвращает новый объект метода экземпляра, где *func* – любой вызываемый объект. *func* – это функция, которая будет вызвана при вызове метода экземпляра.2425#### `PyObject *PyInstanceMethod_Function(PyObject *im)`2627*Возвращаемое значение: заимствованная ссылка.*2829Возвращает объект функции, связанный с методом экземпляра *im*.3031#### `PyObject *PyInstanceMethod_GET_FUNCTION(PyObject *im)`3233*Возвращаемое значение: заимствованная ссылка.*3435Макрос-версия [`PyInstanceMethod_Function()`](https://python-all.ru/3.15/c-api/method.html#c.PyInstanceMethod_Function), которая избегает проверки ошибок.3637# Объекты методов3839Методы – это связанные объекты функций. Методы всегда привязаны к экземпляру пользовательского класса. Несвязанные методы (методы, привязанные к объекту класса) больше не доступны.4041#### `PyTypeObject PyMethod_Type`4243Этот экземпляр [`PyTypeObject`](https://python-all.ru/3.15/c-api/type.html#c.PyTypeObject) представляет тип метода Python. Он доступен программам на Python как `types.MethodType`.4445#### `int PyMethod_Check(PyObject *o)`4647Возвращает true, если *o* является объектом метода (имеет тип [`PyMethod_Type`](https://python-all.ru/3.15/c-api/method.html#c.PyMethod_Type)). Параметр не должен быть `NULL`. Эта функция всегда выполняется успешно.4849#### `PyObject *PyMethod_New(PyObject *func, PyObject *self)`5051*Возвращаемое значение: новая ссылка.*5253Возвращает новый объект метода, где *func* – любой вызываемый объект, а *self* – экземпляр, к которому должен быть привязан метод. *func* – это функция, которая будет вызвана при вызове метода. *self* не должен быть `NULL`.5455#### `PyObject *PyMethod_Function(PyObject *meth)`5657*Возвращаемое значение: заимствованная ссылка.*5859Возвращает объект функции, связанный с методом *meth*.6061#### `PyObject *PyMethod_GET_FUNCTION(PyObject *meth)`6263*Возвращаемое значение: заимствованная ссылка.*6465Макрос-версия [`PyMethod_Function()`](https://python-all.ru/3.15/c-api/method.html#c.PyMethod_Function), которая избегает проверки ошибок.6667#### `PyObject *PyMethod_Self(PyObject *meth)`6869*Возвращаемое значение: заимствованная ссылка.*7071Возвращает экземпляр, связанный с методом *meth*.7273#### `PyObject *PyMethod_GET_SELF(PyObject *meth)`7475*Возвращаемое значение: заимствованная ссылка.*7677Макрос-версия [`PyMethod_Self()`](https://python-all.ru/3.15/c-api/method.html#c.PyMethod_Self), которая избегает проверки ошибок.78