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
Fortgeschrittene objektorientierte Programmierung in Python
Anleitung zur Übung
- 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 Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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(____ == ____)