Об’єкти методу екземпляра

An instance method is a wrapper for a PyCFunction and the new way to bind a PyCFunction to a class object. It replaces the former call 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)
Return value: New reference.

Повертає новий об’єкт методу примірника, де func є будь-яким викликаним об’єктом. func — це функція, яка буде викликана під час виклику методу екземпляра.

PyObject* PyInstanceMethod_Function(PyObject *im)
Return value: Borrowed reference.

Повертає об’єкт функції, пов’язаний із методом екземпляра im.

PyObject* PyInstanceMethod_GET_FUNCTION(PyObject *im)
Return value: Borrowed reference.

Макроверсія 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)
Return value: New reference.

Повертає новий об’єкт методу, де func є будь-яким викликаним об’єктом, а self — екземпляром, до якого метод має бути прив’язаний. func — це функція, яка буде викликана під час виклику методу. self не має бути NULL.

PyObject* PyMethod_Function(PyObject *meth)
Return value: Borrowed reference.

Повертає об’єкт функції, пов’язаний із методом meth.

PyObject* PyMethod_GET_FUNCTION(PyObject *meth)
Return value: Borrowed reference.

Макроверсія PyMethod_Function(), яка уникає перевірки помилок.

PyObject* PyMethod_Self(PyObject *meth)
Return value: Borrowed reference.

Повертає екземпляр, пов’язаний з методом meth.

PyObject* PyMethod_GET_SELF(PyObject *meth)
Return value: Borrowed reference.

Версія макросу PyMethod_Self(), яка уникає перевірки помилок.