實例方法物件 (Instance Method Objects)
**************************************

實例方法是 "PyCFunction" 的包裝器 (wrapper)，也是將 "PyCFunction" 繫結
(bind) 到類別物件的一種新方式。它替代了原先對 "PyMethod_New(func,
NULL, class)" 的呼叫。

PyTypeObject PyInstanceMethod_Type

   "PyTypeObject" 的實例代表 Python 實例方法型別。它不會公開 (expose)
   給 Python 程式。

int PyInstanceMethod_Check(PyObject *o)

   如果 *o* 是一個實例方法物件（型別為 "PyInstanceMethod_Type"）則回傳
   true。參數必須不為 "NULL"。此函式總是會成功執行。

PyObject *PyInstanceMethod_New(PyObject *func)
    *Return value: New reference.*

   回傳一個新的實例方法物件，*func* 為任意可呼叫物件，在實例方法被呼叫
   時 *func* 函式也會被呼叫。

PyObject *PyInstanceMethod_Function(PyObject *im)
    *Return value: Borrowed reference.*

   回傳關聯到實例方法 *im* 的函式物件。

PyObject *PyInstanceMethod_GET_FUNCTION(PyObject *im)
    *Return value: Borrowed reference.*

   巨集 (macro) 版本的 "PyInstanceMethod_Function()"，忽略了錯誤檢查。


方法物件 (Method Objects)
*************************

方法為繫結函式 (bound 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)
    *Return value: New reference.*

   回傳一個新的方法物件，*func* 應為任意可呼叫物件，*self* 為該方法應
   繫結的實例。在方法被呼叫時，*func* 函式也會被呼叫。*self* 必須不為
   "NULL"。

PyObject *PyMethod_Function(PyObject *meth)
    *Return value: Borrowed reference.*

   回傳關聯到方法 *meth* 的函式物件。

PyObject *PyMethod_GET_FUNCTION(PyObject *meth)
    *Return value: Borrowed reference.*

   巨集版本的 "PyMethod_Function()"，忽略了錯誤檢查。

PyObject *PyMethod_Self(PyObject *meth)
    *Return value: Borrowed reference.*

   回傳關聯到方法 *meth* 的實例。

PyObject *PyMethod_GET_SELF(PyObject *meth)
    *Return value: Borrowed reference.*

   巨集版本的 "PyMethod_Self()"，忽略了錯誤檢查。
