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.