例項方法物件¶
例項方法是 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_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_GET_FUNCTION(PyObject *meth)¶
- 返回值:借用引用。
宏版本
PyMethod_Function()
,避免了錯誤檢查。
-
PyObject *PyMethod_GET_SELF(PyObject *meth)¶
- 返回值:借用引用。
宏版本
PyMethod_Self()
,避免了錯誤檢查。