Variablen für Werte, die Methoden bei ihrem Aufruf übergeben werden müssen [oder können], bezeichnet man als Parameter.
Python bietet flexible Aufrufvarianten mit der Möglichkeit, Parameter mit Werten vorzudefinieren.
Hinweis: Parameter treten natürlich nicht nur bei der Objektorientierung,
sondern auch bei globalen Funktionen bzw. Prozeduren auf.
Die folgenden Methode BewegeHorizontal hat den Parameter weite, der übergeben werden muss, während die Methode BewegeVertikal einen vordefinierten Parameter hat. In der Methode Bewege sind beide Varianten eingesetzt. Dabei dürfen Parameter ohne Wertzuweisung (Positionsparameter) nicht nach vordefinierten Parametern (Schlüsselwortparameter) auftreten, so dass die Methode BewegeUnzulaessig fehlerhaft ist.
def BewegeHorizontal(self, weite): """Veraendernde Methode fuer die x-Position""" self.Verberge() self.x += weite self.Zeige() def BewegeVertikal(self, weite=10): """Veraendernde Methode fuer die y-Position""" self.Verberge() self.y += weite self.Zeige() def Bewege(self, xWeite, yWeite=10): """Veraendernde Methode fuer die x- und y-Position""" self.Verberge() self.x += xWeite self.y += yWeite self.Zeige() def BewegeUnzulaessig(self, xWeite=10, yWeite): """Unzulässige Parameterreihenfolge""" self.Verberge() self.x += xWeite self.y += yWeite self.Zeige()
Beim Aufruf muss sie also einen Zahlenwert übergeben bekommen:
bewegeHorizontal(30);
Die folgenden Aufrufe sind möglich:
tisch = Tisch() tisch.Zeige() tisch.BewegeHorizontal(30) tisch.BewegeVertikal() tisch.BewegeVertikal(50) tisch.Bewege(20) tisch.Bewege(40,50) tisch.Bewege(yWeite=70,xWeite=20)
Unzulässig ist aber: tisch.Bewege(yWeite=70) da dann der Parameter xWeite nicht mit einem Wert belegt wird.
© Claus Albowski