Python est dynamique. Mais parfois, ça aide de savoir ce qu'on attend. Depuis Python 3.5, on peut ajouter des "indices" de type.
def saluer(nom: str) -> str:
return f"Bonjour {nom}"
def addition(a: int, b: int) -> int:
return a + b
Ça ne change RIEN à l'exécution (Python s'en fiche et ne plantera pas si tu envoies un int à la place d'un str).
MAIS :
- Ton éditeur (VS Code) peut te prévenir si tu fais une bêtise.
- C'est de la documentation gratuite.
Pour les types complexes :
from typing import List, Dict, Optional
def traiter_notes(notes: List[int]) -> float:
return sum(notes) / len(notes)
(Note : Depuis Python 3.9, tu peux utiliser list[int] directement sans importer List).