Supraîncărcarea operatorului ==
Operatorii încorporați din Python sunt foarte utili, mai ales când compari instanțe ale unei clase. La construirea claselor, metodele magice pot fi folosite pentru a modifica comportamentul acestor operatori. În acest exercițiu, vei supraîncărca operatorul == pentru a determina dacă două instanțe ale clasei Computer sunt egale.
Acest exercițiu face parte din cursul
Programare orientată pe obiecte intermediară în Python
Instrucțiuni pentru exercițiu
- Definește o metodă magică pentru a supraîncărca operatorul
==. - Compară atributele
device_idale luiselfșiotherîn metoda magică pentru a determina dacă cele două instanțe sunt egale. - Verifică dacă
pre_upgrade_computerșipost_upgrade_computersunt egale și afișează rezultatul.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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(____ == ____)