Pratique Python, IA Engineering et bien plus avec des exercices interactifs et des tests automatiques.
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 …
Un point essentiel de la POO : chaque objet a ses propres données. Si tu créés deux instances d'une meme classe, modifier l'une ne change …
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 …
La fonction isinstance(objet, classe) te permet de vérifier si un objet est une instance d'une classe ou d'une de ses sous-classes. C'est different de type() …
Parfois, tu ne veux pas remplacer completement une méthode du parent, mais l'etendre : faire ce que fait le parent, puis ajouter quelque chose. Pour …
Un cas d'usage classique des attributs de classe, c'est compter combien d'instances ont ete créées. L'idee est simple : un compteur au niveau de la …
Une pile (stack en anglais), c'est comme une pile d'assiettes : tu ne peux ajouter ou retirer que l'élément du dessus. On appelle ca LIFO …
On va construire un petit carnet de contacts, un cas realiste qui combine tout ce qu'on a vu : classes, attributs, méthodes, __str__, et interaction …
En situation professionnelle, l'héritage sert souvent a definir un comportement commun dans une classe de base, puis a specialiser ce comportement dans des sous-classes. Voici …
Quand tu compares deux objets avec ==, Python appelle en coulisses une méthode speciale : __eq__. Par défaut, == vérifie si les deux variables pointent …
Pour pouvoir trier des objets avec sorted(), Python a besoin de savoir comment les comparer. Il utilise la méthode speciale __lt__ (lt pour less than, …
L'operateur + entre deux objets appelle la méthode __add__. C'est ce qu'on appelle la surcharge d'operateur : tu redefinies ce que + fait pour ta …
Maintenant que tu connais __add__ et __sub__, on va créer une classe plus complete. En plus d'additionner et soustraire des distances entre elles, on veut …
En definissant seulement __eq__ et __lt__, Python peut deduire les autres comparaisons si tu utilises le decorateur @functools.total_ordering. Mais pour cet exercice, on va les …
En Python, par convention, un attribut qui commence par un underscore (comme _age) est considere comme prive. Ca veut dire qu'on ne devrait pas y …