Methoden zur Operatorüberladung
Klassen können durch Bereitstellung von Methodenfunktionen mit entsprechenden Namen, die jeweils mit zwei Unterstrichen beginnen und enden, integrierte Operationen abfangen und diese selbst implementieren. Die Namen sind nicht reserviert und können wie gewohnt von Superklassen geerbt werden. Python lokalisiert maximal eine Methode pro Operation und ruft diese automatisch auf.
Python ruft die Überladungsmethoden einer Klasse auf, wenn deren Instanzen in Ausdrücken oder anderen Kontexten vorkommen. Wenn eine Klasse beispielsweise eine Methode mit dem Namen __getitem__
definiert und X
eine Instanz dieser Klasse ist, entspricht der Ausdruck X
[
i
]
den Methodenaufruf X
.__getitem__(
i
)
(der direkte Methodenaufruf bietet ...
Get Python kurz & gut, 5th 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.