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

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()`, яка уникає перевірки помилок.