クラスとインスタンスオブジェクト — Python 2.7ja1 documentation

### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python 2.7ja1 documentation »
- Python/C API リファレンスマニュアル »
- 具象オブジェクト (concrete object) レイヤ »

# クラスとインスタンスオブジェクト

ここで説明されているクラスオブジェクトは旧スタイルクラスのもので、 Python 3 では削除されることに注意してください。新スタイルクラス(type)を拡張モジュールで作成する場合は、 type オブジェクトを扱うべきです。 (型オブジェクト (type object) を参照)

`PyClassObject`

  ビルトインクラスを表すためのオブジェクトの構造体

PyObject* `PyClass_Type`

  クラスオブジェクトのための type オブジェクト。 Python レイヤーの、 `types.ClassType` と同じオブジェクト。

int `PyClass_Check`(PyObject *o)

  o が、標準のクラスオブジェクトから派生した type のインスタンスだった場合を含めて、クラスオブジェクトだった場合に真を返します。それ以外の場合は偽を返します。

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 なら、インスタンス用に新たな辞書が作成されます。

### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python 2.7ja1 documentation »
- Python/C API リファレンスマニュアル »
- 具象オブジェクト (concrete object) レイヤ »