Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Definieer een magic-methode om de operator == te overloaden.
  • Vergelijk in de magic-methode de device_id-attributen van self en other om te bepalen of de twee instanties gelijk zijn.
  • Controleer of pre_upgrade_computer en post_upgrade_computer gelijk 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(____ == ____)
Code bewerken en uitvoeren