Den Operator == überladen
Pythons eingebaute Operatoren sind praktisch, besonders beim Vergleichen von Instanzen einer Klasse. Beim Erstellen von Klassen kannst du Magic Methods verwenden, um die Funktionalität dieser Operatoren zu ändern. Hier überlädst du den Operator ==, um zu bestimmen, ob zwei Instanzen von Computer gleich sind.
Diese Übung ist Teil des Kurses
<Kurs>Fortgeschrittene objektorientierte Programmierung in Python</Kurs>Übungsanweisungen
- Definiere eine Magic Method, um den Operator
==zu überladen. - Vergleiche in der Magic Method die Attribute
device_idvonselfundother, um festzustellen, ob die beiden Instanzen gleich sind. - Prüfe, ob
pre_upgrade_computerundpost_upgrade_computergleich sind, und gib das Ergebnis aus.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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(____ == ____)