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

インスタンスメソッドとは PyCFunction のためのラッパーであり、 PyCFunction をクラスオブジェクトにバインドするための新しいやり方です。これは以前の PyMethod_New(func, NULL, class) の呼び出しを置き換えます。

PyTypeObject PyInstanceMethod_Type

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

int PyInstanceMethod_Check(PyObject *o)

Return true if o is an instance method object (has type PyInstanceMethod_Type). The parameter must not be 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.

PyInstanceMethod_Function() のマクロ版で、エラーチェックを行いません。

メソッドオブジェクト

メソッドは関数オブジェクトに束縛されています。メソッドは常にあるユーザー定義のクラスに束縛されているのです。束縛されていないメソッド(クラスオブジェクトに束縛されたメソッド)は利用することができません。

PyTypeObject PyMethod_Type

この PyTypeObject のインスタンスは Python のメソッド型を表現します。このオブジェクトは、 types.MethodType として Python プログラムに公開されています。

int PyMethod_Check(PyObject *o)

Return true if o is a method object (has type PyMethod_Type). The parameter must not be NULL.

PyObject* PyMethod_New(PyObject *func, PyObject *self)
Return value: New reference.

Return a new method object, with func being any callable object and self the instance the method should be bound. func is the function that will be called when the method is called. self must not be 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() のマクロ版で、エラーチェックを行いません。

int PyMethod_ClearFreeList()

free list をクリアします。解放された要素数を返します。