# 型ヒントのためのオブジェクト

Various built-in types for type hinting are provided. Currently, two types exist -- GenericAlias and Union. Only `GenericAlias` is exposed to C.

PyObject *`Py_GenericAlias`(PyObject *origin, PyObject *args)
  Part of the Stable ABI since version 3.9.

  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`
  Part of the Stable ABI since version 3.9.

  `Py_GenericAlias()` により返されるCの型オブジェクトです。Pythonの `types.GenericAlias` と同等です。

  バージョン 3.9 で追加.