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