#typing
12 éléments
typing.Final: documenter des constantes non surchargées
Marquer des attributs/variables comme constants pour les type-checkers.
typing.assert_never: exhaustivité des match/case
Forcer l'exhaustivité des branches au typage statique (3.11+).
typing.get_origin/get_args: introspection des generics
Récupérer l'origine et les paramètres des types génériques.
typing: Literal et Annotated pour clarifier les API
Restreindre les valeurs et attacher des métadonnées de type.
typing.NewType: types distincts à l'analyse statique
Différencier des identifiants (UserId, ProductId) sans coût runtime.
typing.overload: définir des signatures surchargées
Fournir plusieurs signatures type-safe pour une même fonction.
typing: ParamSpec pour typer les décorateurs
Préserver la signature des fonctions décorées avec ParamSpec.
typing: Protocol pour duck typing statique
Définir un contrat d'interface et l'utiliser sans héritage explicite.
typing: NamedTuple et TypedDict
Structurer des données légères avec types statiques facultatifs.
typing.TypeAlias: déclarer un alias de type stable
Documenter explicitement un alias de type public.
typing.TypeVar: bornes et contraintes
Restreindre un type générique à une hiérarchie ou un ensemble donné.
type hints : annotations, mypy en douceur
documenter et valider les types, détecter les incohérences tôt.