Nota
¡Ayúdanos a traducir la documentación oficial de Python al Español! Puedes encontrar más información en Como contribuir. Ayuda a acercar Python a más personas de habla hispana.
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__
deGenericAlias
respectivamente. origin debe ser un PyTypeObject*, y args puede ser un PyTupleObject* o cualquierPyObject*
. 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__
deGenericAlias
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 atypes.GenericAlias
en Python.Nuevo en la versión 3.9.