Surcharger l'opérateur ==
Les opérateurs intégrés de Python sont pratiques, surtout pour comparer des instances d'une classe. Lorsqu'on crée des classes, on peut utiliser des méthodes magiques pour modifier le comportement de ces opérateurs. Ici, vous allez surcharger l'opérateur == afin de déterminer si deux instances de Computer sont égales.
Cette activité fait partie du cours
Programmation orientée objet intermédiaire en Python
Instructions de l’exercice
- Définissez une méthode magique pour surcharger l'opérateur
==. - Dans cette méthode, comparez les attributs
device_iddeselfet deotherafin de déterminer si les deux instances sont égales. - Vérifiez si
pre_upgrade_computeretpost_upgrade_computersont égaux et affichez le résultat.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
class Computer:
def __init__(self, device_id, storage):
self.device_id = device_id
self.storage = storage
# Overload the == operator using a magic method
def ____(self, other):
# Return a boolean based on the value of device_id
____ self.____ == other.____
pre_upgrade_computer = Computer("Y391Hky6", 256)
post_upgrade_computer = Computer("Y391Hky6", 1024)
# Create two instances of Computer, compare using ==
print(____ == ____)