Inhaltsverzeichnis
Wir haben hiermit den größten Teil der verschiedenen Aspekte von Python angesprochen, die Sie benutzen werden. In diesem Kapitel werden wir einige weitere Aspekte besprechen, die Ihre Python-Kenntnisse noch etwas vollständiger machen werden.
Es gibt einige besondere Methoden, die in Klassen eine spezielle Bedeutung haben,
so wie die Methoden __init__
oder
__del__
, deren Bedeutung wir bereits kennen
gelernt haben.
Allgemein werden spezielle Methoden verwendet, um eine bestimmte Funktionalität zu imitieren.
Wenn Sie zum Beispiel die Indizierungs-Operation x[key]
für Ihre Klasse
benutzen wollen (als wenn Sie eine Liste oder ein Tupel wäre), dann implementieren Sie einfach
die Methode __getitem__()
, und haben dieses Problem damit
gelöst. Wenn Sie darüber nachdenken, ist es genau das, was Python selber bei der Klasse
list
macht. Man spricht bei dieser Vorgehensweise
auch vom Überladen von Operatoren.
Einige nützliche speziellen Methoden sind in der folgenden Tabelle aufgelistet. Wenn Sie alle speziellen Methoden wissen wollen, dann finden Sie diese große Liste im Python-Referenz-Handbuch.
Tabelle 15.1. Einige spezielle Methoden
Name | Erklärung |
---|---|
__init__(self, ...) | Diese Methode wird aufgerufen, gerade bevor das neu erzeugte Objekt zum Gebrauch zurückgegeben wird. |
__del__(self) | Wird aufgerufen gerade bevor das Objekt zerstört wird. , |
__str__(self) |
Wird aufgerufen, wenn man das Objekt mit der print -Anweisung
ausgibt oder wenn str() benutzt wird.
|
__lt__(self, other) | Wird aufgerufen, wenn der Operator < für 'kleiner als' (less than) benutzt wird. Entsprechend gibt es spezielle Methoden für alle möglichen Operatoren (+, >, usw.). |
__getitem__(self, key) |
Wird aufgerufen, wenn der Indizierungs-Operator x[key]
verwendet wird.
|
__len__(self) |
Wird aufgerufen, wenn die eingebaute len() -Funktion
auf das Sequenz-Objekt angewendet wird.
|