Python Tutorial
- jetzt Python programmieren lernen

Konstruktoren in Python

Unsere Klassen können wir mit Konstruktoren erweitern. Wir konstruieren (bzw. definiert Variablen, die standardmäßig gesetzt werden. Der Unterschied zu den bereits definierten Variablen in der Klasse ist, dass wir beim Erzeugen der Instanz gleich Werte mitgeben können/müssen.

Hier haben wir das Schlüsselwort __init__ und es wird gleich erstellt wie eine Funktion.

class BauPlanAuto:
	sitze = 4;
	farbe = "rot"
	geschwindigkeit = 0
	def __init__(self):
		self.kraftstoff = "Benzin"
	def beschleunigen(self):
		print("Auto wird beschleunigt")
	def umlackieren(self, neueFarbe):
		self.farbe = neueFarbe
		print("umlackieren des Autos in ", neueFarbe)
        
borgward = BauPlanAuto()

Somit würde nun jede erzeuge Instanz eines Autos mit dem Kraftstoff "Benzin" fahren. Das ist aber nicht immer so. Daher würde es Sinn machen, dass wir beim Erstellen der Instanz auch den Kraftstoff festlegen können. Daher erweitern wir unseren Konstruktor:

class BauPlanAuto:
	sitze = 4;
	farbe = "rot"
	geschwindigkeit = 0
	def __init__(self, kraftstoff):
		self.kraftstoff = kraftstoff

Beim Erzeugen der Instanz müssen wir nun auf jeden Fall den Kraftstoff mit angeben:

class BauPlanAuto:
	sitze = 4;
	farbe = "rot"
	geschwindigkeit = 0
	def __init__(self, kraftstoff):
		self.kraftstoff = kraftstoff
        
borgward = BauPlanAuto("Diesel")

Ein Standardwert kann wie bei Funktionen über das Gleichzeichen mitgegeben werden. Somit ist das Erstellen einer Instanz einfacher, wenn es um einen Standardwert handelt. Wir ergänzen unser Beispiel oben:

class BauPlanAuto:
	sitze = 4;
	farbe = "rot"
	geschwindigkeit = 0
	def __init__(self, kraftstoff="Benzin"):
		self.kraftstoff = kraftstoff
        
borgward = BauPlanAuto()