Python Tutorial
- jetzt Python programmieren lernen

Lösung zur Aufgabe: Methoden in PKW-Klasse einbauen

Hier der fertige Code. Es wurden auch die entsprechenden Anmerkungen als Docstrings gemacht. Dadurch kann die Hilfe entsprechend ausgegeben werden. Daher bitte bis zum Ende von diesem Kapitel lesen ;).

class Pkw():
    """ Klasse für das Erstellen von Personenkraftwagen """

    def __init__(self, farbe, baujahr, kmstand, sitze, marke):
        """ Eigenschaften farbe, baujahr, kmstand, Sitzplätze, Marke erfassen """
        self.farbe   = farbe
        self.baujahr = baujahr
        self.kmstand = kmstand
        self.sitze   = sitze
        self.marke   = marke

    def hupen(self):
        """ hier sollte noch eine MP3-Datei ausgegeben werden """
        print("Trööt")

    def fahren(self, km):
        """ wie viele KM gefahren werden, was dem Tachostand aufaddiert wird """
        self.kmstand += km
        print("Ich fahre ", km, " Kilometer")
        print("Insgesamt bin ich ", self.kmstand ," gefahren")

    def parken(self):
        """ neben fahren schon das größere Problem in Städten """
        print("Ich habe eine Parkplatz gefunden")

    def kilometerstand(self):
        """ Ausgabe des KM-Standes vom Tacho """
        print("Ich habe ", str(self.kmstand) ," auf dem Tacho")

trabi = Pkw("rot", 1981, 143000, 4, "Trabi")
trabi.hupen()
trabi.kilometerstand()
trabi.fahren(5)
trabi.kilometerstand()
trabi.parken()

Jetzt können wir uns die Hilfe-Funktion zu dieser Klasse ausgeben lassen und erhalten die von uns eingegebene Erklärung zur Klasse und Methoden:

….
trabi.kilometerstand()
trabi.parken()
print(help(Pkw))

Und wir bekommen diese Ausgabe:

Help on class Pkw in module __main__:

class Pkw(builtins.object)
| Pkw(farbe, baujahr, kmstand, sitze, marke)
|
| Klasse für das Erstellen von Personenkraftwagen
|
| Methods defined here:
|
| __init__(self, farbe, baujahr, kmstand, sitze, marke)
| Eigenschaften farbe, baujahr, kmstand, Sitzplätze, Marke erfassen
|
| fahren(self, km)
| weiviel KM gefahren werden, was dem Tachostand aufaddiert wird
|
| hupen(self)
| hier sollte noch eine MP3-Datei ausgegeben werden
|
| kilometerstand(self)
| Ausgabe des KM-Standes vom Tacho
|
| parken(self)
| neben fahren schon das größere Problem in Städten
|
| ----------------------------------------------------------------------
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)

Zusätzlich können wir uns noch die enthaltenen Methoden der Klasse und des erzeugten Objekts anzeigen lassen über die Python-Anweisung dir(). Auch das packen wir ans Ende dazu:

….
trabi.kilometerstand()
trabi.parken()
print(help(Pkw))

print(dir(Pkw))
print(dir(trabi))

Für die Klasse dir(Pkw) erhalten wir folgende Informationen:

['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'fahren', 'hupen', 'kilometerstand', 'parken']

Es sind alle von uns definierten Methoden von fahren, hupen bis parken aufgeführt.

Schauen wir uns die Ausgabe von dem Objekt mit dir(trabi) an, dann haben wir zusätzlich neben den Methoden auch die Eigenschaften aufgeführt:

['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'baujahr', 'fahren', 'farbe', 'hupen', 'kilometerstand', 'kmstand', 'marke', 'parken', 'sitze']

Weiterempfehlen • Social Bookmarks • Vielen Dank

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Das neue E-Book zum Kurs gibt es zum Kaufen.

Sie können uns auch eine Spende über PayPal zukommen lassen.

Bestellen Sie Bücher über folgenden Link bei Amazon:
Bücher über Python

Vielen Dank für Ihre Unterstützung