Pratique Python, IA Engineering et bien plus avec des exercices interactifs et des tests automatiques.
itertools.groupby() est l'équivalent du GROUP BY en SQL : il regroupe des éléments selon un critère. Piège majeur : groupby ne regroupe que les éléments …
En Python, une fonction est un objet comme un autre. Tu peux la stocker dans une variable, exactement comme tu stockerais un nombre ou un …
Puisqu'une fonction est un objet, on peut la passer en argument a une autre fonction. C'est comme donner une recette a quelqu'un et lui dire …
Maintenant que tu sais passer une fonction en paramètre, on peut aller plus loin : passer plusieurs fonctions et les appliquer toutes a la meme …
Une lambda, c'est une fonction anonyme ecrite en une seule ligne. On l'utilise quand on a besoin d'une petite fonction jetable, qu'on ne reutilisera pas …
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 …
En mathematiques, la composition de fonctions c'est appliquer une fonction au résultat d'une autre. Si tu as f et g, la composee f apres g …
Un decorateur en Python, c'est une higher-order function qui prend une fonction en argument et renvoie une nouvelle fonction enrichie. C'est la combinaison parfaite de …
Voici un exercice qui combine tout ce qu'on a vu dans un cas qu'on rencontre vraiment en entreprise : nettoyer des données textuelles. Quand tu …
Quand quelque chose tourne mal en Python, une exception est levee. Si personne ne l'attrape, le programme plante avec un message d'erreur. Pour eviter ca, …
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 …
En production, on crée souvent une hierarchie d'exceptions pour son application. On part d'une exception de base, puis on en derive des exceptions plus spécifiques. …
En Python, chaque module (c'est-a-dire chaque fichier .py) contient des fonctions, des classes et des variables. Quand tu importes un module, tu peux decouvrir son …
Chaque module Python possede des propriétés speciales qui te donnent des informations sur lui. Les trois principales sont : __name__ : le nom du module …
En Python, quand tu executes un fichier directement (python mon_fichier.py), la variable speciale __name__ vaut '__main__'. Mais quand ce meme fichier est importe comme module …
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 …
En Python, quand tu appelles len() sur un objet, Python cherche une méthode speciale __len__() sur cet objet. C'est ce qu'on appelle un protocole : …