Ö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
Övningsinstruktioner
- Definiera en magic-metod för att överlagra operatorn
==. - Jämför attributen
device_idhosselfochotheri magic-metoden för att avgöra om de två instanserna är lika. - Kontrollera om
pre_upgrade_computerochpost_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(____ == ____)