# ----------------------------------------------------- # définition du type des paramètres def enregistrer_utilisateur(nom: str, age: int, actif: bool) -> None: pass # ----------------------------------------------------- # cas d'un dictionnaire def transformer_dict(data: dict[str, int]) -> dict[int, str]: return {value: key for key, value in data.items()} # ----------------------------------------------------- # utilisation de tuple def extraire_coordonnees(coordonnees: tuple[float, float]) -> float: x, y = coordonnees return (x**2 + y**2)**0.5 # ----------------------------------------------------- # typage avec liste d'entiers def afficher_nombres(nombres: list[int] | None) -> None: if nombres is None: print("Pas de nombres à afficher.") else: print(nombres) # ----------------------------------------------------- # union de valeurs def calculer(valeur: int | float) -> float: return valeur ** 2 # ----------------------------------------------------- # Any pour les listes génériques from typing import Any, List def afficher_elements(elements: List[Any]) -> None: for element in elements: print(element) # ----------------------------------------------------- # combiner List et Union from typing import Union, List def traiter_donnees(donnees: List[Union[int, str]]) -> None: for donnee in donnees: if isinstance(donnee, int): print(f"Nombre : {donnee}") else: print(f"Texte : {donnee}") # ----------------------------------------------------- # utilisation de Dict from typing import Dict def process_users(users: Dict[str, int]) -> None: for name, age in users.items(): print(f"{name} a {age} ans") # ----------------------------------------------------- # utilisation de Literal from typing import Literal def choisir_action(action: Literal["start", "stop", "pause"]) -> None: print(f"Action choisie : {action}") # ----------------------------------------------------- # utilisation de TypeVar pour liste générique from typing import TypeVar T = TypeVar("T") def inverser_liste(elements: list[T]) -> list[T]: return elements[::-1]