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 …
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. …
Python a deux méthodes pour convertir un objet en chaine : __str__ et __repr__. La difference : - __str__ est pour l'affichage humain (utilisee par …
Jusqu'ici, on a vu des attributs d'instance (propres a chaque objet, definis avec self.attribut). Mais il existe aussi des attributs de classe : ils sont …
Une méthode statique est une fonction definie dans une classe mais qui n'a acces ni a l'instance (self) ni a la classe (cls). C'est juste …
Une méthode de classe est liee a la classe elle-meme, pas a une instance particuliere. Elle recoit cls (la classe) comme premier paramètre au lieu …
L'héritage permet a une classe de récupérer les attributs et méthodes d'une autre classe. On dit que la classe enfant herite de la classe parent. …
Quand une classe enfant a son propre __init__, elle doit appeler le __init__ du parent avec super().__init__(...). Sinon, les attributs du parent ne seront pas …
Quand une classe enfant definit une méthode qui existe deja dans la classe parente, on dit qu'elle la surcharge (override). L'enfant remplace le comportement du …
Une property peut aussi avoir un setter, c'est-a-dire une méthode qui controle ce qui se passe quand on assigne une valeur. Ca permet de valider …
Les properties sont parfaites pour exposer des valeurs calculées a partir d'autres attributs. L'avantage, c'est que la valeur est toujours a jour : si tu …
Une classe abstraite peut aussi avoir des méthodes concretes (non abstraites). Ces méthodes sont heritees par les sous-classes sans avoir besoin de les reimplémenter. Seules …
Maintenant que tu as compris le principe de la récursion avec la factorielle, appliquons-le a un autre problème : calculer la somme des entiers de …
La suite de Fibonacci est une suite de nombres ou chaque nombre est la somme des deux précédents : 0, 1, 1, 2, 3, 5, …
Quand tu tapes une adresse dans ton navigateur, tu envoies une URL au serveur. Cette URL contient plusieurs informations empaquetees ensemble : le protocole (http …
Un serveur web, c'est un programme qui recoit des requêtes et renvoie des réponses. Chaque requête contient une méthode (GET pour lire, POST pour créer, …
Dans un framework web, un template est un texte avec des trous. Tu ecris du HTML avec des marqueurs comme {{ nom }}, et le …
En HTML, une liste a puces s'ecrit avec les balises ul (unordered list) et li (list item). Quand tu as une liste Python d'éléments, tu …