IniziaInizia gratis

Sovraccaricare l'operatore ==

Gli operatori integrati di Python sono molto comodi, soprattutto quando confronti le istanze di una classe. Quando progetti le classi, puoi usare i metodi magici per cambiare il comportamento di questi operatori. Qui sovraccaricherai l'operatore == per stabilire se due istanze di Computer sono uguali.

Questo esercizio fa parte del corso

Programmazione a oggetti intermedia in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci un metodo magico per sovraccaricare l'operatore ==.
  • Nel metodo magico, confronta gli attributi device_id di self e other per stabilire se le due istanze sono uguali.
  • Verifica se pre_upgrade_computer e post_upgrade_computer sono uguali e stampa il risultato.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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(____ == ____)
Modifica ed esegui il codice