Pratique Python, IA Engineering et bien plus avec des exercices interactifs et des tests automatiques.
En Python, une classe peut heriter de plusieurs classes parentes en meme temps. C'est l'héritage multiple. Quand tu ecris class Canard(Volant, Nageant), le Canard herite …
Quand une classe herite d'une autre, son __init__ doit souvent appeler le __init__ du parent pour initialiser les attributs herites. C'est le role de super().__init__(). …
Un mixin est une classe concue pour etre heritee en complement d'une autre. Elle apporte une fonctionnalité transversale (comme le logging, la serialisation, etc.) sans …
Quand tu surcharges (override) une méthode dans une sous-classe, tu peux quand meme reutiliser la logique du parent avec super(). C'est comme une chaine de …
Un mixin tres utile en pratique, c'est celui qui permet de convertir un objet en dictionnaire ou en JSON. Ca sert partout : APIs, sauvegarde, …
En Python, quand tu créés une classe avec des attributs, tu dois écrire __init__, __repr__, __eq__... C'est beaucoup de code repetitif. Le decorateur @dataclass génère …
Dans une dataclass, tu peux donner des valeurs par défaut a certains champs. C'est comme les paramètres optionnels d'une fonction : ceux avec une valeur …
Parfois, tu as besoin de faire quelque chose juste apres la création de l'objet : valider les données, calculer un champ derive, enregistrer l'objet quelque …
Un Enum (enumeration) représente un ensemble fixe de valeurs possibles. C'est comme les jours de la semaine : il y en a exactement 7, ni …
En combinant dataclass et Enum, tu obtiens un typage fort : les champs ne peuvent prendre que des valeurs predefinies. C'est particulierement utile pour modeliser …
En Python, une classe est un modèle qui sert a créer des objets. Pense a une classe comme un moule a gateau : le moule …
Quand tu créés un objet, tu veux souvent lui donner des informations de depart. C'est le role de la méthode speciale __init__ (avec deux underscores …
Une fois qu'un objet est crée avec des attributs, tu peux y acceder avec la notation pointee : objet.attribut. Par exemple : class Personne: def …
Quand tu fais print() sur un objet, Python cherche une méthode speciale appelee __str__ pour savoir comment l'afficher. Sans cette méthode, tu obtiens quelque chose …
Une méthode, c'est une fonction qui appartient a une classe. Elle a toujours self comme premier paramètre, ce qui lui donne acces aux attributs de …
Une méthode peut prendre des paramètres en plus de self. Ces paramètres fonctionnent exactement comme pour une fonction normale. Par exemple : class Personne: def …
Une méthode peut renvoyer n'importe quel type de valeur, y compris un booleen (True ou False). C'est tres utile pour tester une condition liee a …
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 …