1.6 KiB
1.6 KiB
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
- Was sind Dunder-Methoden? Methoden mit führenden und nachgestellten doppelten Unterstrichen (Double Underscore, z.B.
__add__). - Magische Übersetzung: Wenn du
a + bschreibst, ruft Python im Hintergrunda.__add__(b)auf. - 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)
- Vergleiche überladen:
__eq__(self, other)für==__lt__(self, other)für<__le__(self, other)für<=
- Objekt- und Container-Dunder:
__str__(für Menschen) vs.__repr__(für Entwickler / Debugger)__abs__fürabs(objekt)(z.B. Vektorlänge)__len__fürlen(objekt)(z.B. Anzahl von Wegpunkten)__getitem__für Indexzugriffobjekt[i]
📁 Die Dateien in diesem Ordner
index.html: Interaktive Lernseite mit visuellen Tabellen, Code-Beispielen & Ausklapp-Hilfen.aufgabe.py: Dein Arbeitsblatt zum Implementieren vonVektor2DundWegstrecke.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