Pratique Python, IA Engineering et bien plus avec des exercices interactifs et des tests automatiques.
Quand une fonction a plusieurs paramètres avec des valeurs par défaut, tu peux utiliser des arguments nommés pour choisir lesquels tu veux modifier sans te …
Parfois, tu ne sais pas a l'avance combien d'arguments ta fonction va recevoir. Python permet de gérer ca avec la syntaxe *args. Le paramètre précédé …
En plus de *args, Python offre **kwargs qui capture les arguments nommés sous forme de dictionnaire. C'est tres pratique quand tu veux accepter des options …
Une lambda, c'est une mini-fonction anonyme (sans nom) qu'on écrit sur une seule ligne. C'est pratique quand tu as besoin d'une fonction tres courte, souvent …
En Python, une variable créée dans une fonction n'existe que dans cette fonction. On dit qu'elle est locale. En dehors de la fonction, elle n'existe …
Quand tu nettoies des données (liste de clients, logs de serveur, résultats d'API), tu tombes souvent sur des doublons. Tu veux les supprimer, mais en …
La rotation de liste, c'est un pattern qu'on retrouve dans les files d'attente circulaires, les plannings tournants, ou tout système qui boucle sur un ensemble …
Découper une liste en morceaux, c'est un besoin très courant : paginer des résultats (10 par page), envoyer des données par lots à une API, …
Quand tu travailles avec plusieurs sources de données (configuration par défaut + configuration utilisateur, données de plusieurs API), tu dois souvent fusionner des dictionnaires. La …
La différence symétrique est utile pour comparer deux versions de données : quels éléments ont été ajoutés ou supprimés entre deux listes. Pense à la …
Quand tu reçois des données sous forme de deux listes séparées (les noms d'un côté, les valeurs de l'autre), tu veux souvent les réunir dans …
Un usage très courant des dictionnaires est de compter combien de fois chaque élément apparaît dans une séquence. Le principe est simple : tu parcours …
Grouper des éléments par un critère, c'est un pattern ultra courant en programmation. Par exemple, grouper des mots par leur première lettre, des élèves par …
Dans la vraie vie, les données sont souvent structurées de manière imbriquée. Un dictionnaire peut contenir d'autres dictionnaires comme valeurs. C'est comme ca qu'on représente …
Parfois tu as un dictionnaire et tu veux en extraire seulement certaines paires selon un critère. Par exemple, garder uniquement les produits dont le prix …
Les sets supportent les opérations mathématiques sur les ensembles. C'est très puissant pour comparer des collections. Les opérations principales : union (|) : tous les …
Un set A est un sous-ensemble de B si tous les éléments de A sont aussi dans B. En Python, tu peux vérifier ca avec …
Tu connais probablement les list comprehensions : [x * 2 for x in range(5)] donne [0, 2, 4, 6, 8]. Les dict comprehensions fonctionnent de …
Les set comprehensions sont comme les list comprehensions, mais elles produisent un set (donc pas de doublons). La syntaxe utilise des accolades : {expression for …
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 …
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. …
Quand on parle de complexité algorithmique, on cherche a savoir comment le temps d'execution evolue quand la taille des données augmente. O(n), ca veut dire …
O(n²), ca veut dire quadratique. Le temps d'execution augmente avec le carre de la taille des données. Si ta liste double, le temps est multiplie …