Menu
CoddyTech

Der self-Parameter

Teil des Abschnitts Objektorientierte Programmierung der Python-Journey von Coddy. Lektion 4 von 64.

Der Parameter self bezieht sich innerhalb von Methoden auf die Instanz einer Klasse. Er ermöglicht dir, auf Attribute des aktuellen Objekts zuzugreifen und sie zu ändern.

Hier ist ein Beispiel für eine Klasse mit Methoden, die self verwenden:

class Car:
    def honk(self):
        print("Beep beep!")
    
    def describe(self):
        print(f"I am a {self.color} {self.model}")

Der Parameter self muss bei Methodendefinitionen immer der erste Parameter sein. Er teilt der Methode mit, welches bestimmte Objekt verwendet wird.

Erstelle ein Autoobjekt und füge Attribute hinzu:

my_car = Car()
my_car.color = "Red"
my_car.model = "Sedan"

Rufe nun die Methoden auf:

my_car.honk()
my_car.describe()

Ausgabe:

Beep beep!
I am a Red Sedan

Beachte, dass du beim Aufruf von my_car.describe() nichts für self übergibst – Python übergibt my_car automatisch als self-Parameter.

Das passiert im Hintergrund:

# Wenn du Folgendes schreibst:
my_car.describe()

# Python macht tatsächlich Folgendes:
Car.describe(my_car)

Der Parameter self ermöglicht jedem Objekt den Zugriff auf seine eigenen Daten. Ohne self wüssten Methoden nicht, welche Attribute des Objekts sie verwenden sollen.

Wichtiger Punkt: Füge bei Methodendefinitionen immer self als ersten Parameter ein, aber übergib es beim Aufrufen von Methoden niemals – Python erledigt das automatisch.

challenge icon

Aufgabe

Einfach

Vervollständige die Klasse Car in car.py, indem du eine Methode namens display_info hinzufügst, die den Parameter self verwendet, um Baujahr, Marke und Modell des Autos in folgendem Format auszugeben:

"This car is a [year] [make] [model]".

  • car.py: Enthält die Definition der Klasse Car, zu der du die Methode display_info hinzufügst
  • driver.py: Hauptdatei zur Ausführung, die die Klasse Car importiert und verwendet

Die Datei driver.py importiert deine Klasse Car und erstellt Instanzen, um deine Implementierung zu testen. Stelle sicher, dass deine Methode korrekt funktioniert, wenn sie aus der Treiberdatei aufgerufen wird.

Probier es selbst

from car import Car

# Teste deinen Code
my_car = Car()
my_car.year = 2020
my_car.make = "Toyota"
my_car.model = "Corolla"

my_car.display_info()  # Sollte Folgendes ausgeben: This car is a 2020 Toyota Corolla
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Python-Compiler