Exercices POO Comparer deux objets avec __eq__
🎉

Bravo!

Débutant 🧠 Fondamentaux 10 XP 0 personnes ont réussi

Comparer deux objets avec __eq__

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 vers le meme objet en mémoire, pas si leur contenu est identique.

Par exemple, si tu créés deux objets Point avec les memes coordonnées :

p1 = Point(1, 2)
p2 = Point(1, 2)
p1 == p2 # False par défaut !

Pour que == compare le contenu, il faut definir __eq__ dans ta classe. Cette méthode prend self et other en paramètres et renvoie True ou False.

def __eq__(self, other):
return self.x == other.x and self.y == other.y

Écris une classe Point avec un __init__ qui prend x et y, et une méthode __eq__ qui renvoie True si deux points ont les memes coordonnées.

Exemple :
Point(1, 2) == Point(1, 2) renvoie True
Point(1, 2) == Point(3, 4) renvoie False

Tests (3/4)

Points egaux
assert Point(1, 2) == Point(1, 2)
Points differents
assert not (Point(1, 2) == Point(3, 4))
Meme x, y different
assert not (Point(1, 2) == Point(1, 5))

+ 0 tests cachés

Indices (3 disponibles)

solution.py