インスタンスメソッドオブジェクト(Instance Method Objects)
*********************************************************

インスタンスメソッドは "PyCFunction" のラッパーであり、"PyCFunction"
をクラスオブジェクトに束縛する新しい方法です。 以前の
"PyMethod_New(func, NULL, class)" 呼び出しに代わるものです。

PyTypeObject PyInstanceMethod_Type

   "PyTypeObject" のインスタンスは Python のインスタンスメソッドの型を
   表現します。これは Python のプログラムには公開されません。

int PyInstanceMethod_Check(PyObject *o)

   *o* がインスタンスメソッドオブジェクト ("PyInstanceMethod_Type" 型
   である) 場合に真を返します。パラメータは "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" 型である) 場合に真を返
   します。パラメータは "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()" のマクロ版で、エラーチェックを行いません。
