例項方法物件

例項方法是 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() 的宏版本,可避免錯誤檢查。