Začněte nyníZačněte zdarma

Přetížení operátoru ==

Vestavěné operátory Pythonu jsou velmi užitečné, zvláště při porovnávání instancí tříd. Při tvorbě tříd lze magické metody využít ke změně chování těchto operátorů. V tomto cvičení přetížíš operátor ==, aby bylo možné zjistit, jestli jsou dvě instance třídy Computer stejné.

Toto cvičení je součástí kurzu

Intermediate Object-Oriented Programming in Python

Zobrazit kurz

Pokyny k cvičení

  • Definuj magickou metodu pro přetížení operátoru ==.
  • V magické metodě porovnej atributy device_id objektů self a other, aby bylo možné určit, jestli jsou obě instance stejné.
  • Zkontroluj, jestli jsou pre_upgrade_computer a post_upgrade_computer stejné, a výsledek vypiš.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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(____ == ____)
Upravit a spustit kód