Pratique Python, IA Engineering et bien plus avec des exercices interactifs et des tests automatiques.
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 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 …
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 …
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 …
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 …
Une fonction peut renvoyer une autre fonction. On appelle parfois ca une fabrique de fonctions (function factory). C'est comme un atelier qui produit des outils …
Voici un cas concret de higher-order function. Imagine que tu dois calculer la taxe sur un salaire, mais la méthode de calcul peut varier. Plutot …
Un concept fondamental en programmation fonctionnelle est la notion de fonction pure. Une fonction pure a deux propriétés : 1. Pour les memes arguments, elle …
Une closure (fermeture en francais), c'est une fonction qui se souvient de l'environnement dans lequel elle a ete créée, meme apres que cet environnement a …
Les closures peuvent capturer n'importe quel type de donnee, pas seulement des nombres. On peut s'en servir pour créer des fonctions avec de la mémoire. …
Le currying (du nom du mathematicien Haskell Curry) est une technique qui transforme une fonction a plusieurs paramètres en une chaine de fonctions a un …
Voici un cas reel de currying : les conversions de devises. Tu as une fonction générique qui convertit un montant selon un taux. Plutot que …
Le try/except peut avoir deux blocs supplémentaires : else : exécute seulement si aucune exception n'a ete levee finally : exécute toujours, qu'il y ait …
Tu peux créer tes propres types d'exception en creant une classe qui herite de Exception. Ca te permet d'etre plus precis dans tes messages d'erreur …
Parfois, tu ne sais pas a l'avance quel module tu veux importer. Le nom du module peut venir d'un fichier de configuration ou d'un choix …