クラスとインスタンスオブジェクト
ここで説明されているクラスオブジェクトは旧スタイルクラスのもので、 Python 3 では削除されることに注意してください。 新たに型を拡張モジュールで作成する場合は、 type オブジェクトを扱うべきです。 (型オブジェクト を参照)
-
PyClassObject
ビルトインクラスを表すためのオブジェクトの構造体
-
PyObject*
PyClass_Type
クラスオブジェクトのための type オブジェクト。 Python レイヤーの、 types.ClassType
と同じオブジェクト。
-
int
PyClass_Check
(PyObject *o)
標準のクラスオブジェクトから派生した type のインスタンスだった場合を含めて、オブジェクト o がクラスオブジェクトだった場合に真を返します。 それ以外の場合は偽を返します。
-
int
PyClass_IsSubclass
(PyObject *klass, PyObject *base)
klass が base のサブクラスだった場合に真を返します。 それ以外の場合は偽を返します。
インスタンスオブジェクト固有の関数はきわめてわずかです。
-
PyTypeObject
PyInstance_Type
クラスインスタンスの型オブジェクトです。
-
int
PyInstance_Check
(PyObject *obj)
obj がインスタンスの場合に真を返します。
-
PyObject*
PyInstance_New
(PyObject *class, PyObject *arg, PyObject *kw)
- Return value: New reference.
特定のクラスの新たなインスタンスを生成します。パラメタ arg および kw はそれぞれオブジェクトのコンストラクタに渡す位置依存パラメータおよびキーワードパラメータとして使われます。
-
PyObject*
PyInstance_NewRaw
(PyObject *class, PyObject *dict)
- Return value: New reference.
特定のクラスの新たなインスタンスを、コンストラクタを呼ばずに生成します。 class は新たに作成するオブジェクトのクラスです。 dict パラメータは オブジェクトの __dict__
に使われます; dict が NULL なら、インスタンス用に新たな辞書が作成されます。