前のトピックへ

関数オブジェクト (Function Objects)

次のトピックへ

ファイルオブジェクト

このページ

メソッドオブジェクト (method object)

メソッドオブジェクトを操作する上で便利な関数がいくつかあります。

PyTypeObject PyMethod_Type

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

int PyMethod_Check(PyObject *o)

o がメソッドオブジェクト (PyMethod_Type 型である) 場合に真を返します。パラメタは NULL にできません。

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

任意の呼び出し可能オブジェクト func を使った新たなメソッドオブジェクトを返します; 関数 func は、メソッドが呼び出された 時に呼び出されるオブジェクトです。このメソッドをインスタンスに束縛 (bind) したい場合、 self をインスタンス自体にして、 classself のクラスにしなければなりません。それ以外の場合は selfNULL に、 class を 非束縛メソッドを提供しているクラスにしなければなりません。

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

メソッドオブジェクト meth を生成したクラスオブジェクトを返します; インスタンスがメソッドオブジェクトを生成した場合、戻り値は インスタンスのクラスになります。

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

PyMethod_Class() をマクロで実装したバージョンで、エラーチェックを行いません。

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 が束縛メソッドの場合には、メソッドに関連付けられているインスタンスを返します。それ以外の場合には NULL を返します。

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

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

int PyMethod_ClearFreeList()

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

バージョン 2.6 で追加.