ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește o metodă magică pentru a supraîncărca operatorul ==.
  • Compară atributele device_id ale lui self și other în metoda magică pentru a determina dacă cele două instanțe sunt egale.
  • Verifică dacă pre_upgrade_computer și post_upgrade_computer sunt 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(____ == ____)
Editează și rulează codul