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 anger GenericAlias attribut __origin__ respektive __args__. origin bör vara ett PyTypeObject*, och args kan vara ett PyTupleObject* eller valfritt PyObject*. 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ör GenericAlias konstrueras latent från __args__. Om det misslyckas uppstår ett undantag och NULL returneras.

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(). Motsvarar types.GenericAlias i Python.

Tillagd i version 3.9.