Klassen können Python-Operatoren abfangen

Nun kommen wir zur dritten wesentlichen Eigenschaft von Klassen: zur Operatorenüberladung. Einfach ausgedrückt können damit Objekte, die mit Klassen implementiert sind, auf Operationen reagieren, die auf eingebauten Typen funktionieren, z.B. Addition, Teilbereichsbildung, Ausgabe, Qualifizierung usw. Im Wesentlichen handelt es sich um einen automatischen Dispatch-Mechanismus: Ausdrücke leiten die Ausführung an Implementierungen in Klassen weiter. Auch hierzu gibt es nichts Vergleichbares in Modulen: Module können Funktionsaufrufe implementieren, aber nicht das Verhalten von Ausdrücken.

Obwohl Sie das ganze Verhalten einer Klasse mit Methodenfunktionen implementieren könnten, bringt die Operatorenüberladung ...

Get Einfüehrung in Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.