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_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_GET_FUNCTION
(PyObject *meth)¶ - 返回值:借用引用。
PyMethod_Function()
的宏版本,可避免错误检查。
- PyObject*
PyMethod_GET_SELF
(PyObject *meth)¶ - 返回值:借用引用。
PyMethod_Self()
的宏版本,可避免错误检查。
- int
PyMethod_ClearFreeList
()¶ 清除空闲列表。返回已释放项目的总数。