实例方法对象

实例方法是 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)
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() 这样可以避免错误检查。