De operator == overloaden
De ingebouwde operatoren van Python zijn handig, zeker bij het vergelijken van instanties van een klasse. Bij het bouwen van klassen kun je met magic-methoden de functionaliteit van deze operatoren aanpassen. Hier ga je de operator == overloaden om te bepalen of twee instanties van Computer gelijk zijn.
Deze oefening maakt deel uit van de cursus
Gevorderde objectgeoriënteerde programmering in Python
Oefeninstructies
- Definieer een magic-methode om de operator
==te overloaden. - Vergelijk in de magic-methode de
device_id-attributen vanselfenotherom te bepalen of de twee instanties gelijk zijn. - Controleer of
pre_upgrade_computerenpost_upgrade_computergelijk zijn en print het resultaat.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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(____ == ____)