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

Объекты методов экземпляраInstance Method Objects

Метод экземпляра – это обёртка для PyCFunction и новый способ привязки PyCFunction к объекту класса. Он заменяет прежний вызов PyMethod_New(func, NULL, class).

PyTypeObject PyInstanceMethod_Type

Этот экземпляр PyTypeObject представляет тип метода экземпляра Python. Он не доступен программам на Python.

int PyInstanceMethod_Check(PyObject *o)

Возвращает true, если o является объектом метода экземпляра (имеет тип PyInstanceMethod_Type). Параметр не должен быть NULL. Эта функция всегда выполняется успешно.

PyObject *PyInstanceMethod_New(PyObject *func)
Возвращаемое значение: новая ссылка.

Возвращает новый объект метода экземпляра, где func – любой вызываемый объект. func – это функция, которая будет вызвана при вызове метода экземпляра.

PyObject *PyInstanceMethod_Function(PyObject *im)
Возвращаемое значение: заимствованная ссылка.

Возвращает объект функции, связанный с методом экземпляра im.

PyObject *PyInstanceMethod_GET_FUNCTION(PyObject *im)
Возвращаемое значение: заимствованная ссылка.

Макрос-версия PyInstanceMethod_Function(), которая избегает проверки ошибок.

Объекты методовMethod Objects

Методы – это связанные объекты функций. Методы всегда привязаны к экземпляру пользовательского класса. Несвязанные методы (методы, привязанные к объекту класса) больше не доступны.

PyTypeObject PyMethod_Type

Этот экземпляр PyTypeObject представляет тип метода Python. Он доступен программам на Python как types.MethodType.

int PyMethod_Check(PyObject *o)

Возвращает true, если o является объектом метода (имеет тип PyMethod_Type). Параметр не должен быть NULL. Эта функция всегда выполняется успешно.

PyObject *PyMethod_New(PyObject *func, PyObject *self)
Возвращаемое значение: новая ссылка.

Возвращает новый объект метода, где func – любой вызываемый объект, а self – экземпляр, к которому должен быть привязан метод. func – это функция, которая будет вызвана при вызове метода. self не должен быть NULL.

PyObject *PyMethod_Function(PyObject *meth)
Возвращаемое значение: заимствованная ссылка.

Возвращает объект функции, связанный с методом meth.

PyObject *PyMethod_GET_FUNCTION(PyObject *meth)
Возвращаемое значение: заимствованная ссылка.

Макрос-версия PyMethod_Function(), которая избегает проверки ошибок.

PyObject *PyMethod_Self(PyObject *meth)
Возвращаемое значение: заимствованная ссылка.

Возвращает экземпляр, связанный с методом meth.

PyObject *PyMethod_GET_SELF(PyObject *meth)
Возвращаемое значение: заимствованная ссылка.

Макрос-версия PyMethod_Self(), которая избегает проверки ошибок.