ПочатиПочніть безкоштовно

Перевантаження оператора ==

Вбудовані оператори Python зручні, особливо коли потрібно порівнювати екземпляри класу. Під час створення класів можна використовувати магічні методи, щоб змінювати функціональність цих операторів. Тут ви перевантажите оператор ==, щоб визначити, чи рівні два екземпляри Computer.

Ця вправа є частиною курсу

Середній рівень об'єктно-орієнтованого програмування в Python

Переглянути курс

Інструкції до вправи

  • Визначте магічний метод для перевантаження оператора ==.
  • У магічному методі порівняйте атрибути device_id у self та other, щоб з'ясувати, чи рівні два екземпляри.
  • Перевірте, чи рівні pre_upgrade_computer і post_upgrade_computer, і виведіть результат.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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(____ == ____)
Редагувати та запускати код