Le GIL en Python : qu'est-ce que c'est et son impact
Comprendre le Global Interpreter Lock de CPython, pourquoi les threads n'accélèrent pas le code CPU-bound, quand utiliser threading, multiprocessing et le build free-threaded.
Comprendre le Global Interpreter Lock de CPython, pourquoi les threads n'accélèrent pas le code CPU-bound, quand utiliser threading, multiprocessing et le build free-threaded.
Guide pour empaqueter une bibliothèque Python avec pyproject.toml, construire une wheel, tester sur TestPyPI et publier sur PyPI avec un token ou Trusted Publishing.
Pourquoi le threading n'accélère pas le code lourd CPU, et comment utiliser multiprocessing, Pool, ProcessPoolExecutor pour exploiter tous les cœurs CPU.
Configurer le logging Python pour la production : logger par module, dictConfig, log JSON, request_id avec contextvars, QueueHandler et test avec caplog.
Utilisez pathlib.Path au lieu de os.path et os pour concaténer, scinder, lire, écrire et parcourir les fichiers. Avec tableau de comparaison, tests pytest et pièges courants.
Comment utiliser try/except/else/finally, définir des exceptions personnalisées, raise from, logging, ExceptionGroup et comment tester les exceptions avec pytest.
Comment utiliser Pydantic v2 pour valider les données d'entrée : BaseModel, Field, field_validator, model_validator, mode strict, TypeAdapter et tests avec pytest.
Construisez une API REST avec FastAPI et Pydantic v2 pour bloquer les données invalides dès l'entrée, personnaliser les erreurs 422 et écrire des tests avec pytest.
Guide pour écrire des tests avec pytest, utiliser les fixtures pour préparer les données, nettoyer les ressources, partager via conftest.py et paramétrer les tests.
Comment utiliser les list, dict et set comprehensions et les expressions de générateur en Python pour un code concis et lisible, avec les erreurs courantes et quand revenir à la boucle for.
Comprendre comment l'instruction with fonctionne, écrire votre propre context manager avec une classe ou contextlib, gérer les exceptions correctement et éviter les erreurs courantes.
Comment créer un virtual environment, gérer les packages avec pip et déclarer un projet Python avec pyproject.toml, avec des exemples fonctionnels et les erreurs courantes.
Découvrez les décorateurs Python : de la syntaxe @, aux closures, functools.wraps, jusqu'aux décorateurs paramétrés et les décorateurs basés sur une classe.
Découvrez les generators, yield et comment traiter des fichiers énormes ou des flux de données sans charger tout en mémoire.
Distinguez asyncio et threading en Python grâce à 3 questions pratiques pour choisir le bon modèle de concurrence selon votre cas d'usage.
Découvrez le module dataclasses de Python pour écrire des classes de données concises, qui génèrent automatiquement __init__, __repr__, __eq__ sans boilerplate.
Découvrez comment utiliser les type hints pour rendre votre code Python plus clair, et utilisez mypy pour détecter les erreurs de type avant l'exécution.