Pratique Python, IA Engineering et bien plus avec des exercices interactifs et des tests automatiques.
Le Singleton est un design pattern qui garantit qu'une classe n'a qu'une seule instance dans tout le programme. C'est comme le president d'un pays : …
La Factory (usine) est un pattern qui centralise la création d'objets. Au lieu de créer directement tes objets avec Cercle(5) ou Rectangle(3, 4), tu passes …
La composition est une relation forte entre deux objets : l'objet compose crée lui-meme ses composants. C'est comme un corps humain et son coeur : …
L'agregation est une relation faible entre objets : les composants existent independamment du tout. C'est comme une equipe de foot et ses joueurs : un …
Le premier principe SOLID est le Single Responsibility Principle (SRP) : une classe ne doit avoir qu'une seule raison de changer. Autrement dit, elle ne …
Un context manager, c'est un objet qui sait se preparer et se nettoyer tout seul. Quand tu ecris with open('fichier.txt') as f, le fichier s'ouvre …
En Python, tout objet qui definit la méthode __call__ peut etre appele comme une fonction. On dit qu'il est callable. C'est comme un distributeur automatique …
En Python, pour mettre un objet dans un set ou l'utiliser comme clé de dictionnaire, il doit etre hashable. Cela veut dire qu'il doit avoir …
En Python, les classes sont elles-memes des objets. Et elles sont créées par type(). Quand tu ecris class Animal: ..., Python appelle en fait type('Animal', …
La serialisation, c'est transformer un objet Python en données transportables (un dictionnaire, du JSON, du XML...). La deserialisation, c'est l'inverse : reconstruire un objet depuis …
Quand tu as des objets qui contiennent d'autres objets (par exemple un Client qui a une Adresse), la serialisation devient un peu plus complexe. Chaque …
Les dataclasses sont un raccourci Python pour créer des classes qui stockent des données. Au lieu d'écrire __init__, __repr__, __eq__ a la main, le decorateur …
C'est probablement le piege le plus celebre de Python. Quand tu donnes une valeur par défaut mutable (comme une liste) a un paramètre de fonction, …
En Python, quand tu assignes une valeur a une variable dans une fonction, Python considere cette variable comme locale a la fonction. Ca veut dire …
Le monkey patching, c'est modifier une classe ou un module apres sa création, en lui ajoutant ou remplacant des méthodes ou des attributs. Le terme …
Quand tu accedes a un attribut d'un objet (par exemple obj.nom), Python suit un processus precis. Il cherche d'abord dans l'instance, puis dans la classe, …
Un context manager, c'est un objet qui definit un contexte d'execution. Tu l'utilises avec le mot-cle with. L'exemple le plus courant est l'ouverture de fichier …
Écrire une classe avec __enter__ et __exit__ peut etre un peu lourd pour des cas simples. Python propose un raccourci avec le decorateur contextmanager du …
Le decorateur @property permet de definir des attributs calcules. L'avantage, c'est que du point de vue de l'utilisateur, ca ressemble a un simple attribut, mais …
Quand tu ecris des tests pour une appli e-commerce, tu as besoin des memes donnees partout : un utilisateur test, un panier avec des articles, …
Tester une methode isolee, c'est bien. Mais les vrais bugs apparaissent quand les methodes interagissent entre elles. Un compte bancaire peut accepter les depots et …
Tu testes un systeme de commande qui envoie un email de confirmation apres l'achat. Tu ne vas pas envoyer un vrai email a chaque test …
Tu as 20 cas a tester pour une seule fonction, et tu te retrouves a copier-coller le meme assert en changeant juste les valeurs : …
Dans beaucoup d'equipes pro, on ecrit les tests AVANT le code. Ca s'appelle le TDD (Test-Driven Development) et ca change completement ta facon de reflechir. …