Python

Python Menu

Objekte sind eine Kapselung von Variablen und Funktionen in einer einzigen Einheit. Objekte erhalten ihre Variablen und Funktionen von Klassen. Klassen sind im Wesentlichen eine Vorlage zum Erstellen von Objekten.

Eine sehr einfache Klasse würde etwa so aussehen:

class MeineKlasse:
    variable = "blah"

    def funktion(self):
        print("Dies ist eine Nachricht innerhalb der Klasse.")

Eine Erklärung, warum das self als Parameter angegeben werden muss, folgt später. Um die obige Klasse (Vorlage) einem Objekt zuzuweisen, müsste man zunächst wie folgt vorgehen:

class MeineKlasse:
    variable = "blah"

    def funktion(self):
        print("Dies ist eine Nachricht innerhalb der Klasse.")

meinobjektx = MeineKlasse()

Nun enthält die Variable meinobjektx ein Objekt der Klasse MeineKlasse, das die Variable und die innerhalb der Klasse definierte Funktion namens MeineKlasse enthält.

Zugriff auf Objektvariablen

Um auf die Variable innerhalb des neu erstellten Objekts meinobjektx zuzugreifen, muss folgendermaßen vorgegangen werden:

class MeineKlasse:
    meinString = "Hallo"

    def funktion(self):
        print("Dies ist eine Nachricht innerhalb der Klasse.")

meinobjektx = MeineKlasse()
meinobjektx.meinString # greift auf die Variable 'meinString' zu

So würde z. B. das unten stehende den String "Hallo" ausgeben:

class MeineKlasse: meinString = "Hallo"
def funktion(self): print("Dies ist eine Nachricht innerhalb der Klasse.")
meinobjektx = MeineKlasse() meinobjektx.meinString #greift auf die Variable 'meinString' zu print(meinobjektx.meinString)

Es können mehrere verschiedene Objekte erstellt werden, die der gleichen Klasse angehören (dieselben Variablen und Funktionen definiert haben). Jedes Objekt enthält jedoch unabhängige Kopien der in der Klasse definierten Variablen. Wenn wir z. B. ein weiteres Objekt mit der Klasse "MeineKlasse" definieren und dann den String in der obigen Variablen ändern würden:

class MeineKlasse: meinString = "Hallo"
def funktion(self): print("Dies ist eine Nachricht innerhalb der Klasse.")
meinobjektx = MeineKlasse() meinobjekty = MeineKlasse()
meinobjektx.meinString = "Python"
# Dann beide Werte ausgeben print(meinobjektx.myString) print(meinobjekty.myString)

Zugriff auf Objektfunktionen

Um auf eine Funktion innerhalb eines Objekts zuzugreifen, wird eine ähnliche Notation wie für den Zugriff auf eine Variable verwendet:

class MeineKlasse: variable = "blah"
def meineFunktion(self): print("Dies ist eine Nachricht innerhalb der Klasse.")
meinobjektx = MeineKlasse()
meinobjektx.meineFunktion()

Übung

Wir haben eine Klasse für Fahrzeuge definiert. Erstelle zwei neue Fahrzeuge mit den Namen auto1 und auto2. Setze auto1 auf ein rotes Cabrio im Wert von 60.000,00 mit dem Namen Ferrari und car2 auf einen blauen Van namens GMC im Wert von 10.000,00.

# die Klasse Fahrzeug definieren class Fahrzeug: name = "" typ= "Auto" farbe = "" wert = 100.00 def beschreibung(self): beschr_str = "%s ist ein %s in %s im Wert von %.2f." % (self.name, self.typ, self.farbe, self.wert) return beschr_str
# Dein Code kommt hierher
# Test-Code print(auto1.beschreibung()) print(auto2.beschreibung())
# die Klasse Fahrzeug definieren class Fahrzeug: name = "" typ= "Auto" farbe = "" wert = 100.00 def beschreibung(self): beschr_str = "%s ist ein %s in %s im Wert von %.2f." % (self.name, self.typ, self.farbe, self.wert) return beschr_str
# Dein Code kommt hierher auto1 = Fahrzeug() auto1.name = "Ferrari" auto1.farbe = "rot" auto1.typ= "Cabrio" auto1.wert = 60000.00
auto2 = Fahrzeug() auto2.name = "GMC" auto2.farbe = "blau" auto2.typ= "Van" auto2.wert = 10000.00
# Test-Code print(auto1.beschreibung()) print(auto2.beschreibung())
test_output_contains("Ferrari ist ein Cabrio in rot im Wert von 60000.00.") test_output_contains("GMC ist ein Van in blau im Wert von 10000.00.") success_msg("Hervorragend!")

Einführung

Python Basics

Python Advance

Data Science Python Tutorials

Python Eingebaute Funktionen