インスタンスメソッドオブジェクト(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()
のマクロ版で、エラーチェックを行いません。
-
int
PyMethod_ClearFreeList
()¶ free list をクリアします。解放された要素数を返します。