Funktionen
Mit Prozeduren können wir Codeteile abstrahieren, und damit eine Folge von Anweisungen zusammenfassen. Wenn wir die Prozeduren ausführen, werden die Anweisungen die in der entsprechenden Prozedur definiert sind ausgeführt.
Bevor wir Funktionen einführen, sollten wir uns nochmals an den Unterschied zwischen Anweisungen und Ausdrücken zurückerinnern. Falls Sie hier nicht mehr sicher sind, schauen Sie sich doch nochmals die entsprechende Theorieeinheit an. Eine Anweisung führen wir aus, um damit Python anzuweisen etwas zu machen, wie zum Beispiel etwas auf dem Bildschirm auszugeben, ein Stück Code mehrmals auszuführen, etc. Ausdrücke hingegen werden benutzt, um Werte zu berechnen, mit denen wir weiterrechnen können.
Wenn wir eine Prozedur aufrufen, bekommen wir keinen Wert zurück. Eine Prozedur wird also nur wegen der Anweisungen benutzt, die innerhalb der Prozedur definiert sind. Funktionen erlauben uns, genau wie Prozeduren, Codeteile zu abstrahieren, zu benennen und mehrmals auszuführen. Im Gegensatz zu Prozeduren geben Funktionen aber immer einen Wert zurück, mit dem wir weiterarbeiten können. Funktionen können also wie Ausdrücke benutzt werden.
Funktionen werden genau wie Prozeduren definiert. Das einzige was neu hinzukommt, ist das Schlüsselwort return
welches uns erlaubt einen Wert zurückzugeben. Wie das genau
funktioniert wird in folgendem Video erklärt:
Auch hier empfehlen wir Ihnen wie immer, das im Video gelernte direkt umzusetzen und selber damit zu experimentieren.
Experimente
- Fügen Sie wie im Video gezeigt ein zweite
return
-Anweisung zur Funktion hinzu. Schreiben Sie dann zweiprint
-Anweisungen, eine die ausgegeben wird, die andere soll aber nie erreicht und somit auch nicht ausgegeben werden. - Schreiben Sie eine Funktion
max
welche zwei Zahlen als Parameter übergeben bekommt und dann die grössere der beiden Zahlen an den Aufrufer zurückgibt. Verwenden Sie dazu eineif
-Anweisung mit zweireturn
-Anweisungen, jedoch keine zusätzlichen Variablen. - Schreiben Sie eine Funktion
max3
welche das Maximum dreier Zahlen zurückgibt. Sie können für die Implementation Ihre Funktionmax
verwenden.
Fragen und Kommentare
Haben Sie Fragen oder Kommentare zu diesem Artikel? Nutzen Sie das Forum und helfen Sie sich und Ihren Mitstudierenden dieses Thema besser zu verstehen.