Документация 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, которая не выполняет проверку ошибок.

int PyMethod_ClearFreeList(void)
Очищает список свободных элементов. Возвращает общее количество освобождённых элементов.