LoslegenKostenlos starten

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>
Kurs ansehen

Übungsanweisungen

  • Definiere eine Magic Method, um den Operator == zu überladen.
  • Vergleiche in der Magic Method die Attribute device_id von self und other, um festzustellen, ob die beiden Instanzen gleich sind.
  • Prüfe, ob pre_upgrade_computer und post_upgrade_computer gleich 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(____ == ____)
Code bearbeiten und ausführen