Instance Method Objects

实例方法是PyCFunction的包装器和将PyCFunction绑定到类对象的新方法。它替换前一个调用PyMethod_New(func, NULL, 类)

PyTypeObject PyInstanceMethod_Type

此实例PyTypeObject表示Python实例方法类型。它不暴露于Python程序。

int PyInstanceMethod_Check(PyObject *o)

如果o是实例方法对象(类型PyInstanceMethod_Type),则返回true。该参数不能为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)

如果o是方法对象(类型PyMethod_Type),则返回true。该参数不能为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()

清除空闲列表。返回已释放项目的总数。