实例方法对象

实例方法是PyCFunction的包装,也是将PyCFunction绑定到类对象的新方法。它代替了以前的呼叫PyMethod_New(func, NULL, class)

  • 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 方法类型。这对于types.MethodType公开给 Python 程序。

返回一个新的方法对象,* func 是任何可调用的对象, self *该方法应绑定的实例。 * func *是在调用方法时将被调用的函数。 * self *不能为NULL

返回与方法* meth *关联的函数对象。

  • PyObject * PyMethod_GET_FUNCTION(PyObject ** meth *)
    • *返回值:借用参考。

PyMethod_Function()的宏版本,可避免错误检查。

返回与方法* meth *关联的实例。

PyMethod_Self()的宏版本,可避免错误检查。

  • int PyMethod_ClearFreeList()
    • 清除空闲列表。返回释放的项目总数。