Überladungsmethoden für Operatoren
Klassen fangen eingebaute Operationen ab und implementieren sie, indem sie Methoden mit speziellen Namen definieren, die alle mit zwei Unterstrichen beginnen und enden. Diese Namen sind nicht reserviert und können ganz normal von Oberklassen geerbt werden. Pro Operation wird höchstens eine Methode gesucht und aufgerufen.
Python ruft automatisch die Überladungsmethoden einer Klasse auf, wenn Instanzen in Ausdrücken und anderen Kontexten vorkommen. Definiert eine Klasse z.B. eine Methode namens __getitem__
und ist X
eine Instanz dieser Klasse, ist der Ausdruck X[i]
äquivalent zum Methodenaufruf X.__getitem__(i)
.
Die Namen von Überladungsmethoden sind gelegentlich recht willkürlich: Die __add__
-Methode einer Klasse ...
Get Python kurz & gut, 4th Edition 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.