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

Метод экземпляра является оболочкой для a PyCFunction и новым способом привязки a 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(), которая позволяет избежать проверки ошибок.

Объекты метода

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

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)
Возвращаемое значение: Новая ссылка.

Возвращает новый объект method, где 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(), которая позволяет избежать проверки ошибок.

Вернуться на верх