タイプオブジェクト
- type PyTypeObject
- 組み込み型を記述するために使用されるオブジェクトのC構造体。
- PyObject *PyType_Type
- これは、型オブジェクトの型オブジェクトです。 Pythonレイヤーの
type
およびtypes.TypeType
と同じオブジェクトです。
- int PyType_Check(PyObject *o)
- オブジェクト o が型オブジェクトである場合、trueを返します。これには、標準の型オブジェクトから派生した型のインスタンスが含まれます。 それ以外の場合はすべてfalseを返します。
- int PyType_CheckExact(PyObject *o)
オブジェクト o が型オブジェクトであるが、標準型オブジェクトのサブタイプではない場合はtrueを返します。 それ以外の場合はすべてfalseを返します。
バージョン2.2の新機能。
- unsigned int PyType_ClearCache()
内部ルックアップキャッシュをクリアします。 現在のバージョンタグを返します。
バージョン2.6の新機能。
- void PyType_Modified(PyTypeObject *type)
タイプとそのすべてのサブタイプの内部ルックアップキャッシュを無効にします。 この関数は、タイプの属性または基本クラスを手動で変更した後に呼び出す必要があります。
バージョン2.6の新機能。
- int PyType_HasFeature(PyObject *o, int feature)
- タイプオブジェクト o が機能機能を設定する場合はtrueを返します。 タイプ機能は、シングルビットフラグで示されます。
- int PyType_IS_GC(PyObject *o)
タイプオブジェクトに循環検出器のサポートが含まれている場合はtrueを返します。 これは、タイプフラグ Py_TPFLAGS_HAVE_GC をテストします。
バージョン2.0の新機能。
- int PyType_IsSubtype(PyTypeObject *a, PyTypeObject *b)
a が b のサブタイプである場合はtrueを返します。
バージョン2.2の新機能。
この関数は実際のサブタイプのみをチェックします。つまり、 __ subclasscheck __()は b では呼び出されません。 PyObject_IsSubclass()を呼び出して、 issubclass()と同じチェックを行います。
- PyObject *PyType_GenericAlloc(PyTypeObject *type, Py_ssize_t nitems)
バージョン2.2の新機能。
バージョン2.5で変更:この関数は、 nitems に
int
タイプを使用していました。 これには、64ビットシステムを適切にサポートするためにコードの変更が必要になる場合があります。
- PyObject *PyType_GenericNew(PyTypeObject *type, PyObject *args, PyObject *kwds)
バージョン2.2の新機能。
- int PyType_Ready(PyTypeObject *type)
型オブジェクトを完成させます。 これは、初期化を完了するためにすべての型オブジェクトで呼び出す必要があります。 この関数は、型の基本クラスから継承されたスロットを追加する役割を果たします。 成功した場合は
0
を返すか、-1
を返してエラーの場合は例外を設定します。バージョン2.2の新機能。