タイプヒントのオブジェクト—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.9/c-api/typehints
移動先:案内検索

タイプヒントのオブジェクト

型ヒント用のさまざまな組み込み型が用意されています。 GenericAlias のみがCに公開されます。

PyObject *Py_GenericAlias(PyObject *origin, PyObject *args)

GenericAlias オブジェクトを作成します。 Pythonクラス types.GenericAlias を呼び出すのと同じです。 origin および args 引数は、それぞれGenericAlias__origin__および__args__属性を設定します。 origin PyTypeObject * である必要があり、 args PyTupleObject * または任意のPyObject*である必要があります。 渡された args がタプルでない場合、1タプルが自動的に作成され、__args__(args,)に設定されます。 引数のチェックは最小限で行われるため、 origin が型でなくても関数は成功します。 GenericAlias__parameters__属性は、__args__から遅延して構築されます。 失敗すると、例外が発生し、NULLが返されます。

拡張タイプをジェネリックにする方法の例を次に示します。

...
static PyMethodDef my_obj_methods[] = {
    // Other methods.
    ...
    {"__class_getitem__", (PyCFunction)Py_GenericAlias, METH_O|METH_CLASS, "See PEP 585"}
    ...
}

も参照してください

データモデルメソッド__class_getitem__()

バージョン3.9の新機能。

PyTypeObject Py_GenericAliasType

Py_GenericAlias()によって返されるオブジェクトのCタイプ。 Pythonの types.GenericAlias と同等です。

バージョン3.9の新機能。