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

An instance method is a wrapper for a "PyCFunction" and the new way to
bind a "PyCFunction" to a class object. It replaces the former call
"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()" のマクロ版で、エラーチェックを行いません。
