Pratique Python, IA Engineering et bien plus avec des exercices interactifs et des tests automatiques.
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 …
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 …
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 …
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 …