Qu'est-ce que la méthode __eq__ ?
La méthode spéciale __eq__ (eq pour equal) permet de définir le comportement de l'opérateur == sur les objets des classes que vous allez créer. Imaginez une instance a et une instance b, Python appelle en réalité a.__eq__(b). Si vous ne définissez pas cette méthode, par défaut Python comparera l'identité des objets. C'est-à-dire, si les deux objets ont le même emplacement en mémoire, comme ce que vous pouvez faire avec l'opérateur is.
class Utilisateur: def __init__(self, nom, email): self.nom = nom self.email = email u1 = Utilisateur("Patrick", "[email protected]") u2 = Utilisateur("Patrick", "[email protected]") print(u1 == u2) # Affiche : False print(u1 == u1) # Affiche : True
Inscrivez-vous gratuitement pour modifier et exécuter du code Python directement dans votre navigateur.