インスタンスメソッドオブジェクト(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.
Return a new instance method object, with func being any callable object. func is the function that will be called when the instance method is called.
-
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()
のマクロ版で、エラーチェックを行いません。