##
7.1.1 型オブジェクト (type object)

`PyTypeObject`
  組み込み型を記述する際に用いられる、オブジェクトを表す C 構造体です。

PyObject* `PyType_Type`
  型オブジェクト自身の型オブジェクトです; Python レイヤにおける `types.TypeType` と同じオブジェクトです。

int `PyType_Check`( | PyObject *o)

  オブジェクト o が型オブジェクトの場合に真を返します。 標準型オブジェクトから導出されたサブタイプ (subtype) のインスタンスも 含みます。その他の場合には偽を返します。

int `PyType_CheckExact`( | PyObject *o)

  オブジェクト o が型オブジェクトの場合に真を返します。 標準型のサブタイプの場合は含みません。その他の場合には偽を返します。 バージョン2.2 以降で新規追加された 仕様です。

int `PyType_HasFeature`( | PyObject *o, int feature)

  型オブジェクト o に、型機能 feature が設定されている 場合に真を返します。型機能は各々単一ビットのフラグで表されます。

int `PyType_IS_GC`( | PyObject *o)

  型オブジェクトが o が循環参照検出をサポートしている場合に 真を返します; この関数は型機能フラグ `Py_TPFLAGS_HAVE_GC` の設定状態をチェックします。 バージョン2.0 以降で新規追加された 仕様です。

int `PyType_IsSubtype`( | PyTypeObject *a, PyTypeObject *b)

  a が b のサブタイプの場合に真を返します。 バージョン2.2 以降で新規追加された 仕様です。

PyObject* `PyType_GenericAlloc`( | PyTypeObject *type, int nitems)

  戻り値: 新たな参照.
  バージョン2.2 以降で新規追加された 仕様です。

PyObject* `PyType_GenericNew`( | PyTypeObject *type, PyObject *args, PyObject *kwds)

  戻り値: 新たな参照.
  バージョン2.2 以降で新規追加された 仕様です。

int `PyType_Ready`( | PyTypeObject *type)

  型オブジェクトの後始末処理 (finalize) を行います。この関数は 全てのオブジェクトで初期化を完了するために呼び出されなくては なりません。 この関数は、基底クラス型から継承したスロットを型オブジェクトに追加する 役割があります。 成功した場合には `0` を返し、エラーの場合には `-1` を 返して例外情報を設定します。 バージョン2.2 以降で新規追加された 仕様です。