例項方法物件

例項方法是 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(),避免了錯誤檢查。

方法物件

方法是繫結的函式物件。方法總是繫結到使用者定義類的例項。未繫結方法(繫結到類物件的方法)不再可用。

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)
返回值:新引用。

返回一個新的方法物件,其中 *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(),避免了錯誤檢查。