Pratique Python, IA Engineering et bien plus avec des exercices interactifs et des tests automatiques.
En production, un programme qui plante à cause d'une erreur non gérée, c'est un ticket d'incident. try/except est ton filet de sécurité : tu tentes …
Accéder à un élément d'une liste par index peut planter si l'index n'existe pas (IndexError). Dans un code robuste, tu veux récupérer une valeur par …
Dans un projet sérieux, les erreurs génériques comme ValueError ne suffisent pas. Tu veux des exceptions métier qui disent clairement ce qui ne va pas …
Quand tu importes des données d'un fichier CSV ou d'un formulaire web, les valeurs arrivent sous forme de texte et certaines sont invalides : cellules …
Les context managers (le mot-clé with) garantissent qu'une ressource est correctement libérée, même si une erreur survient. Tu les utilises déjà avec open() pour les …
Avant de coder des calculs statistiques toi-même, vérifie si Python ne le fait pas déjà. Le module statistics de la bibliothèque standard fournit mean(), median() …
Les expressions régulières (regex) sont un outil incontournable pour extraire des informations d'un texte : emails, numéros de téléphone, URLs, codes postaux. Le module re …
JSON est LE format d'échange de données sur le web. Chaque API que tu appelleras renvoie du JSON, et chaque fichier de configuration moderne est …
Trouver les éléments les plus fréquents d'une collection, c'est un besoin classique : les mots-clés les plus recherchés, les erreurs les plus courantes, les produits …
Calculer le nombre de jours entre deux dates, c'est un besoin concret : délai de livraison, durée d'un abonnement, âge d'un compte utilisateur. Le module …
Quand ton application appelle une API (météo, paiement, réseaux sociaux), la réponse arrive en JSON. json.loads() transforme cette chaîne de texte en un dictionnaire Python …
Quand tu construis une API ou que tu génères un fichier de configuration, tu dois transformer tes données Python en JSON. json.dumps() fait ça, avec …
Les API renvoient souvent des listes d'objets JSON : une liste d'utilisateurs, de produits, de transactions. Savoir les désérialiser puis les filtrer avec une compréhension …
En pratique, tu reçois souvent des données de sources différentes qu'il faut combiner : une configuration par défaut avec les préférences utilisateur, un profil de …
Agréger des données pour en tirer des statistiques, c'est ce que fait un tableau de bord d'e-commerce : chiffre d'affaires total, produit star, nombre de …
Les closures sont partout dans le code Python moderne : dans les décorateurs, les callbacks, les factories de fonctions. Une closure, c'est une fonction interne …
Le logging est essentiel en production : savoir quelle fonction a été appelée, avec quels arguments, et quand. Un décorateur de log automatise ça sans …
Quand tu crées des fonctions utilitaires ou des wrappers génériques, tu veux souvent accepter n'importe quel nombre d'arguments sans les connaître à l'avance. C'est le …
functools.reduce() est la version Python du concept de fold en programmation fonctionnelle. Elle réduit une séquence à une seule valeur en appliquant une opération cumulativement, …
La mémoïsation accélère drastiquement les fonctions coûteuses en gardant en cache les résultats déjà calculés. C'est le principe de functools.lru_cache en Python, utilisé en production …
Les générateurs sont la solution Python pour traiter de grandes quantités de données sans exploser la mémoire. Au lieu de créer une liste de 10 …
Quand tu écris for x in quelque_chose, Python appelle en coulisses deux méthodes spéciales : __iter__() et __next__(). Comprendre ce protocole, c'est comprendre comment fonctionnent …
itertools est la boîte à outils du développeur Python performant. chain() est le plus simple : il enchaîne plusieurs itérables en un seul flux, sans …
En Python, tu peux créer une source infinie de données avec while True et yield, puis en prendre juste ce dont tu as besoin avec …