Rückgabewerte
Eine Funktion kann zwei Arten von Aufgaben erfüllen:
- 1) etwas bewirken
- Zum Beispiel bewirkt die Funktion
forward(20)
aus dem Modulturtle
1, dass die Turtle um 20 Pixel nach vorne bewegt wird. - 2) einen Wert produzieren
- Zum Beispiel produziert die Funktion
sqrt(64)
aus dem Modulmath
2 den Wert8.0
— also die Quadratwurzel (engl.: square root) von64
.
Wenn eine Funktion einen Wert produziert, nennen wir diesen Wert den Rückgabewert.
Beispiele:
- Der Rückgabewert der
sqrt(n)
-Funktion ist die Quadratwurzel des Parametersn
. - Der Rückgabewert der
input()
-Funktion ist der gesamte Text, den der Benutzer vor dem Drücken der Enter-Taste in der Kommandozeile eingibt.
Rückgabewerte zuweisen
Der Rückgabewert einer Funktion können wir einer Variable zuweisen:
from math import *
eingabe = input("Geben Sie eine Zahl ein, um deren Quadratwurzel zu berechnen: ")
eingabe_als_zahl = int(eingabe)
resultat = sqrt(eingabe_als_zahl)
resultat_als_text = str(resultat)
print("Die Quadratwurzel von " + eingabe + " ist " + resultat_als_text)
In diesem Beispielprogramm wird der Benutzerin eine Zahl erfragt und anschliessend deren Quadratwurzel ausgegeben. Dabei werden die Rückgabewerte der Funktionen input()
, int()
, sqrt()
und str()
jeweils einer Variable zugewiesen.
Einen Wert zurückgeben
Eine Funktion hat genau dann einen Rückgabewert, wenn ihre letzte Zeile aus einem return
-Ausdruck besteht.
Mit dem Schlüsselwort return
(dt: zurückgeben) wird am Ende einer Funktion ein Wert zurückgegeben. Die Ausführung der Funktion endet in jedem Fall, sobald dabei dieser return
-Ausdruck erreicht wird.
Beispielprogramm:
def summe(a, b):
print("Berechne Summe...")
resultat = a + b
return resultat
print("Berechnung erfolgreich!")
berechnung = summe(5, 10)
print(berechnung)
Die Ausgabe dieses Programms sieht wie folgt aus:
Berechne Summe...
15
- Die Funktion
summe()
berechnet auf der Zeile3
die Summe aus den Parameterna
undb
und weist den Rückgabewert dieser Addition der Variableresultat
zu. - Der Wert der Variable
resultat
wird mit demreturn
-Ausdruck auf Zeile4
als Rückgabewert dersumme()
-Funktion zurückgegeben. - Mit dem
return
-Ausdruck auf Zeile4
endet die Ausführung diesersumme()
-Funktion — die Zeileprint("Berechnung erfolgreich!")
wird also nie ausgeführt und kann daher entfernt werden. - Auf Zeile
7
wird diesumme()
-Funktion mit den Argumenten5
und10
aufgerufen. Der Rückgabewert dieses Funktionsaufrufs wird die Zahl15
sein. Dieser Wert wird der Variableberechnung
zugewiesen. - Auf Zeile
8
wird der Wert der Variableberechnung
(also15
) ausgegeben.