クラスおよびインスタンスオブジェクト
ここで説明するクラスオブジェクトは、Python3で廃止される古いスタイルのクラスを表すことに注意してください。 拡張モジュールの新しい型を作成するときは、型オブジェクトを操作する必要があります(セクション型オブジェクト)。
- type PyClassObject
- 組み込みクラスの記述に使用されるオブジェクトのC構造体。
- PyObject *PyClass_Type
- これはクラスオブジェクトの型オブジェクトです。 Pythonレイヤーの
types.ClassType
と同じオブジェクトです。
- int PyClass_Check(PyObject *o)
- オブジェクト o がクラスオブジェクトである場合はtrueを返します。これには、標準のクラスオブジェクトから派生した型のインスタンスが含まれます。 それ以外の場合はすべてfalseを返します。
- klass が base のサブクラスである場合はtrueを返します。 それ以外の場合はすべてfalseを返します。
インスタンスオブジェクトに固有の関数はほとんどありません。
- PyTypeObject PyInstance_Type
- クラスインスタンスのタイプオブジェクト。
- int PyInstance_Check(PyObject *obj)
- obj がインスタンスの場合はtrueを返します。
- 特定のクラスの新しいインスタンスを作成します。 パラメーター arg および kw は、オブジェクトのコンストラクターへの位置パラメーターおよびキーワードパラメーターとして使用されます。
- コンストラクターを呼び出さずに、特定のクラスの新しいインスタンスを作成します。 class は新しいオブジェクトのクラスです。 dict パラメーターは、オブジェクトの __ dict __ として使用されます。 NULL の場合、インスタンス用に新しい辞書が作成されます。