Объекты методов экземпляра¶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)¶
- Очищает список свободных элементов. Возвращает общее количество освобождённых элементов.