Перевантаження оператора ==
Вбудовані оператори 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(____ == ____)