Objekt för typhinting¶
Olika inbyggda typer för typhinting tillhandahålls. För närvarande finns två typer – GenericAlias och Union. Endast GenericAlias är exponerad för C.
-
PyObject *Py_GenericAlias(PyObject *origin, PyObject *args)¶
- En del av Stabil ABI sedan version 3.9.
Skapa ett GenericAlias-objekt. Motsvarar anrop av Python-klassen
types.GenericAlias. Argumenten origin och args angerGenericAliasattribut__origin__respektive__args__. origin bör vara ett PyTypeObject*, och args kan vara ett PyTupleObject* eller valfrittPyObject*. Om args som skickas inte är en tupel, konstrueras automatiskt en 1-tupel och__args__sätts till(args,). Minimal kontroll görs för argumenten, så funktionen kommer att lyckas även om origin inte är en typ. Attributet__parameters__förGenericAliaskonstrueras latent från__args__. Om det misslyckas uppstår ett undantag ochNULLreturneras.Här är ett exempel på hur man gör en tilläggstyp generisk:
... static PyMethodDef my_obj_methods[] = { // Other methods. ... {"__class_getitem__", Py_GenericAlias, METH_O|METH_CLASS, "See PEP 585"} ... }
Se även
Datamodellmetoden
__class_getitem__().Tillagd i version 3.9.
-
PyTypeObject Py_GenericAliasType¶
- En del av Stabil ABI sedan version 3.9.
C-typen för det objekt som returneras av
Py_GenericAlias(). Motsvarartypes.GenericAliasi Python.Tillagd i version 3.9.