Przeciążanie operatora ==
Wbudowane operatory Pythona są bardzo przydatne — szczególnie gdy porównujemy instancje klasy. Podczas budowania klas magiczne metody pozwalają zmienić działanie tych operatorów. W tym ćwiczeniu przeciążysz operator ==, aby określić, czy dwie instancje klasy Computer są sobie równe.
To ćwiczenie jest częścią kursu
Programowanie obiektowe w Pythonie – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Zdefiniuj magiczną metodę do przeciążenia operatora
==. - Porównaj atrybuty
device_idobiektówselfiotherwewnątrz tej metody, aby sprawdzić, czy obie instancje są sobie równe. - Sprawdź, czy
pre_upgrade_computeripost_upgrade_computersą sobie równe, i wydrukuj wynik.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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(____ == ____)