Guide d'astuces sur les types Python

Maîtrisez les astuces de type Python pour une meilleure documentation du code, la prise en charge de l'IDE et l'analyse statique

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.