Guide d'astuces sur les types Python
Les astuces de type rendent votre code Python plus lisible, maintenable et détectent les bogues avant l'exécution.
Syntaxe de base
def greet(name: str) -> str:
return f"Hello, {name}!"
def add(a: int, b: int) -> int:
return a + b
Types courants
from typing import Optional, Union, Any
# Optional - can be None
def find_user(user_id: int) -> Optional[User]:
...
# Union - multiple types (Python 3.10+: use |)
def process(value: Union[str, int]) -> str:
...
# Python 3.10+ syntax
def process(value: str | int) -> str:
...
Collections
# Lists
names: list[str] = ["Alice", "Bob"]
# Dictionaries
ages: dict[str, int] = {"Alice": 30, "Bob": 25}
# Sets
unique_ids: set[int] = {1, 2, 3}
# Tuples (fixed length)
point: tuple[int, int] = (10, 20)
Type d'alias
from typing import TypeAlias
UserId: TypeAlias = int
UserMap: TypeAlias = dict[UserId, "User"]
def get_users() -> UserMap:
...
Vérification de type statique
Utilisez mypy ou pyright pour vérifier les types :
mypy your_module.py
pyright your_module.py
Les deux s'intègrent à la plupart des IDE pour un retour d'information en temps réel.