# Objetos para indicaciones de tipado

Se proporcionan varios tipos incorporados para indicaciones de tipado. Actualmente existen dos tipos – GenericAlias y Union. Solo `GenericAlias` es expuesto a C.

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

  Crea un objeto GenericAlias. Equivalente a llamar la clase de Python `types.GenericAlias`. Los argumentos origin y args configuran los atributos `__origin__` y `__args__` de `GenericAlias` respectivamente. origin debe ser un PyTypeObject*, y args puede ser un PyTupleObject* o cualquier `PyObject*`. Si el valor de args no es una tupla, un 1-tupla es automáticamente construida y `__args__` es configurado como `(args,)`. Para los argumentos se realiza un chequeo mínimo, de esta manera la función tendrá éxito incluso si origin no es un tipo. El atributo `__parameters__` de `GenericAlias` es construido de forma diferida a partir de `__args__`. Si existe una falla, se levantará una excepción y se retornará `NULL`.

  Aquí hay un ejemplo sobre cómo hacer un tipo de extensión genérica:

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

  Ver también

  El método del modelo de datos `__class_getitem__()`.

  Nuevo en la versión 3.9.

PyTypeObject `Py_GenericAliasType`
  Part of the Stable ABI since version 3.9.

  El tipo en C del objeto retornado por `Py_GenericAlias()`. Equivalente a `types.GenericAlias` en Python.

  Nuevo en la versión 3.9.