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
Pokyny k cvičení
- Definuj magickou metodu pro přetížení operátoru
==. - V magické metodě porovnej atributy
device_idobjektůselfaother, aby bylo možné určit, jestli jsou obě instance stejné. - Zkontroluj, jestli jsou
pre_upgrade_computerapost_upgrade_computerstejné, 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(____ == ____)