In der objektorientierten Programmierung spielt die Referenz auf das aktuelle Objekt, häufig als self bezeichnet, eine entscheidende Rolle. Du wirst lernen, wie du diese Self-Referenz effektiv nutzen kannst, um die Interaktion mit Klassen und Objekten in Python zu gestalten.
Wichtigste Erkenntnisse
- Die Self-Referenz (self) ist eine Konvention in Python, die es dir ermöglicht, auf die Eigenschaften und Methoden des aktuellen Objekts zuzugreifen.
- self wird als erster Parameter in Instanzmethoden verwendet und referenziert das spezifische Objekt, auf dem die Methode aufgerufen wurde.
- Du kannst von Klassenmethoden aus auf Objekte zugreifen, indem du das Objekt als Parameter übergibst.
Die Self-Referenz untersuchen
Um die Bedeutung von self vollständig zu verstehen, betrachten wir ein einfaches Beispiel. Angenommen, du hast eine Klasse Person.

Wenn du eine Instanz dieser Klasse erstellst, wird Speicher reserviert, und das Objekt ist bereit zur Verwendung. Hierbei referenziert die Variable, die du zur Instanziierung verwendest, den zugehörigen Speicherbereich.
Das Besondere ist: Wenn du innerhalb der Klasse auf die Eigenschaften oder Methoden zugreifen möchtest, benötigst du Zugriff auf das aktuelle Objekt. Da du beim Definieren der Klasse nicht weißt, wie das Objekt später heißen wird, ist self der Weg, um auf diese Referenz zuzugreifen.
Wenn du also self.name verwendest, kannst du auf den Namen der Person zugreifen, der im Initializer gespeichert wurde.
Ein praktisches Beispiel – Die Klasse Auto
Nun lass uns ein praktisches Beispiel aufbauen. Wir erstellen eine Klasse Auto, die eine Marke und einen Initialisierer hat.

Im Initialisierer wird der Parameter marke verwendet, um die Marke des Autos zu setzen. Hier kommt self ins Spiel. Es wird in der Methode verwendet, um den übergebenen Wert der Instanzvariable zuzuweisen.

Jetzt kannst du eine Methode get_marke erstellen, die dir erlaubt, auf die Marke des Autos zuzugreifen. Der Parameter self wird automatisch übergeben, wenn die Methode aufgerufen wird.

Wenn du jetzt ein Objekt der Klasse Auto erstellst, sagen wir tesla, und auf die Methode get_marke zugreifst, wird self auf das spezifische Objekt, also tesla, verweisen.

Dies bedeutet, dass du erwarten kannst, dass die Methode get_marke den Wert zurückgibt, der zuvor gesetzt wurde.

Du kannst auch die Methode direkt über die Klasse aufrufen, indem du das Objekt übergibst. Dies wird nicht oft gemacht, ist aber für das Verständnis der Funktionsweise von self hilfreich.

Es ist wichtig zu beachten, dass die Standardmethode darin besteht, die Methode über das Objekt aufzurufen, anstatt über die Klasse.
Zusammenfassung – Self-Referenz in Python meistern
Die Self-Referenz ist ein grundlegendes Konzept in der objektorientierten Programmierung mit Python. Sie ermöglicht dir den einfachen Zugriff auf die Eigenschaften und Methoden deines Objekts, sowohl innerhalb als auch außerhalb von Funktionen und Methoden. Wenn du die Verwendung von self in deinen Klassenmeisterst, wirst du in der Lage sein, klarere, funktionalere und wartungsfreundlichere Klassen zu schreiben sowohl in eigenen Projekten als auch im Rahmen gemeinsamer Teamprojekte.
Häufig gestellte Fragen
Was ist self in Python?self ist der erste Parameter in Instanzmethoden und referenziert das aktuelle Objekt.
Warum ist self wichtig?self ermöglicht den Zugriff auf die Eigenschaften und Methoden des aktuellen Objekts.
Kann ich self in einer Klassenmethode verwenden?Ja, jedoch ist es üblicher, die Methode über das Objekt aufzurufen.
Wie wird self übergeben?self wird automatisch als erster Parameter an Instanzmethoden übergeben.
Was passiert, wenn ich self in einer Methode vergesse?Wenn du self vergisst, kannst du nicht auf die Instanzvariablen oder -methoden zugreifen.