Skip to main content

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 zwei print-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 eine if-Anweisung mit zwei return-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 Funktion max 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.