Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj magiczną metodę do przeciążenia operatora ==.
  • Porównaj atrybuty device_id obiektów self i other wewnątrz tej metody, aby sprawdzić, czy obie instancje są sobie równe.
  • Sprawdź, czy pre_upgrade_computer i post_upgrade_computer są 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(____ == ____)
Edytuj i uruchom kod