Kom igångKom igång gratis

Överlagra operatorn ==

Pythons inbyggda operatorer är praktiska, inte minst när man jämför instanser av en klass. När du bygger klasser kan magic-metoder användas för att ändra hur dessa operatorer fungerar. Här överlagrar du operatorn == för att avgöra om två instanser av Computer är lika.

Den här övningen är en del av kursen

Objektorienterad programmering i Python – fortsättningskurs

Visa kurs

Övningsinstruktioner

  • Definiera en magic-metod för att överlagra operatorn ==.
  • Jämför attributen device_id hos self och other i magic-metoden för att avgöra om de två instanserna är lika.
  • Kontrollera om pre_upgrade_computer och post_upgrade_computer är lika och skriv ut resultatet.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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(____ == ____)
Redigera och kör kod