← retour aux snippets

typing.get_origin/get_args: introspection des generics

Récupérer l'origine et les paramètres des types génériques.

python typing #typing#origin#args

objectif

Récupérer l’origine et les paramètres des types génériques.

code minimal

from typing import List, Dict, get_origin, get_args
T = Dict[str, List[int]]
print(get_origin(T) is dict and get_args(T)[1] == list[int])  # attendu: True (3.9+)

utilisation

from typing import Union, get_origin, get_args
U = Union[int, str]
print(set(get_args(U)) == {int, str})

variante(s) utile(s)

from typing import get_origin
print(callable(get_origin))

notes

  • Pratique pour écrire des validateurs/générateurs de code génériques.
  • get_origin retourne l’originaire (ex: list, dict), get_args ses paramètres.