it-praxisportal/08_operator_overloading_dunder
2026-08-29 14:53:43 +02:00
..
aufgabe.py Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
index.html Integriere Gamification-Persistenz & Hooks in alle 27 Kapitel (test_aufgabe.py & index.html) 2026-08-29 14:53:43 +02:00
musterloesung.py Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
README.md Implementiere Kapitel 08 bis 14 (Operator Overloading, Unit Testing, Vererbung, Polymorphie, Exceptions, Persistenz, Tkinter GUI) 2026-08-29 14:26:27 +02:00
test_aufgabe.py Integriere Gamification-Persistenz & Hooks in alle 27 Kapitel (test_aufgabe.py & index.html) 2026-08-29 14:53:43 +02:00

Kapitel 08: Operator Overloading & Dunder-Methoden ➕

In diesem Kapitel lernst du, wie du deine eigenen Klassen mit Pythons eingebauten Operatoren (+, -, *, ==, <, len(), abs()) ausstattest.


🎯 Was du lernst

  1. Was sind Dunder-Methoden? Methoden mit führenden und nachgestellten doppelten Unterstrichen (Double Underscore, z.B. __add__).
  2. Magische Übersetzung: Wenn du a + b schreibst, ruft Python im Hintergrund a.__add__(b) auf.
  3. Mathematische Operatoren überladen:
    • __add__(self, other) für +
    • __sub__(self, other) für -
    • __mul__(self, other) für * (z.B. Skalarmultiplikation mit Zahlen oder Skalarprodukt)
    • __rmul__(self, other) für * von links (z.B. 3 * v)
  4. Vergleiche überladen:
    • __eq__(self, other) für ==
    • __lt__(self, other) für <
    • __le__(self, other) für <=
  5. Objekt- und Container-Dunder:
    • __str__ (für Menschen) vs. __repr__ (für Entwickler / Debugger)
    • __abs__ für abs(objekt) (z.B. Vektorlänge)
    • __len__ für len(objekt) (z.B. Anzahl von Wegpunkten)
    • __getitem__ für Indexzugriff objekt[i]

📁 Die Dateien in diesem Ordner

  • index.html: Interaktive Lernseite mit visuellen Tabellen, Code-Beispielen & Ausklapp-Hilfen.
  • aufgabe.py: Dein Arbeitsblatt zum Implementieren von Vektor2D und Wegstrecke.
  • test_aufgabe.py: Automatische Tests (python3 test_aufgabe.py).
  • musterloesung.py: Vollständig ausprogrammierte Beispiellösung.

🚀 Schnellstart

# 1. Bearbeite aufgabe.py
# 2. Teste deine Lösung:
python3 test_aufgabe.py