方法对象 — Python 文档

来自菜鸟教程
Python/docs/2.7/c-api/method
跳转至:导航、​搜索

方法对象

有一些有用的函数可用于处理方法对象。

PyTypeObject PyMethod_Type
PyTypeObject 的这个实例表示 Python 方法类型。 这以 types.MethodType 的形式暴露给 Python 程序。
int PyMethod_Check(PyObject *o)
如果 o 是方法对象(类型为 PyMethod_Type),则返回 true。 参数不得为 NULL
PyObject *PyMethod_New(PyObject *func, PyObject *self, PyObject *class)
返回一个新的方法对象,其中 func 是任何可调用对象; 这是调用方法时将调用的函数。 如果这个方法要绑定到一个实例,self应该是实例,class应该是self的类,否则self应该是 NULLclass 应该是提供未绑定方法的类..
PyObject *PyMethod_Class(PyObject *meth)
返回创建方法 meth 的类对象; 如果这是从实例创建的,它将是实例的类。
PyObject *PyMethod_GET_CLASS(PyObject *meth)
PyMethod_Class() 的宏版本,可避免错误检查。
PyObject *PyMethod_Function(PyObject *meth)
返回与方法 meth 关联的函数对象。
PyObject *PyMethod_GET_FUNCTION(PyObject *meth)
PyMethod_Function() 的宏版本,可避免错误检查。
PyObject *PyMethod_Self(PyObject *meth)
如果绑定,则返回与方法 meth 关联的实例,否则返回 NULL
PyObject *PyMethod_GET_SELF(PyObject *meth)
PyMethod_Self() 的宏版本,可避免错误检查。
int PyMethod_ClearFreeList()

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

2.6 版中的新功能。