Funktionen in Funktionen

Wir haben bereits das Ablegen eines Rückgabewertes der Funktion abs auf einer beliebigen Variable kennengelernt. Zusätzlich wissen wir, dass print den Inhalt von Variablen auflöst.
Funktionen können auch ineinander geschachtelt werden, dabei wird der Rückgabewert einer Funktion einer weiteren als Parameter übergeben.

Thonny Icon Führe folgendes Beispiel in deinem Thonny aus:

print(abs(−42))

Solche Schachtelungen werden immer von Innen nach Außen abgearbeitet. Dies bedeutet, zuerst werden Elemente innerhalb der Klammern ausgeführt und die Rückgabewerte an die äußere Funktion als Parameter weitergegeben.

Operatoren in Funktionsaufrufen

Auch das Ergebnis der Anwendung von Operatoren kann einer Funktion als Parameter übergeben werden. Im folgenden Beispiel wird das Minimum der Werte abs(-8), 2 und des Ergebnisses der Addition von 3 und 4 ausgegeben.

print(min(abs(-8),2, 3+4))
Das Ergebnis ist 2.

Schon gewusst?

Du kannst nicht nur existierende Built-In Funktionen verwenden, sondern auch deine eigenen Funktionen definieren. Diese können dann wiederum andere Funktionen aufrufen.

Sieh dir den folgenden Quellcode an.


def summe(liste):
    # Wenn die Liste leer ist, gib 0 zurück
    if liste == []:
        return 0
    # Speichere das 1. Element in der Variablen element
    element = liste[0]
    # Entferne das 1. Element aus der Liste
    liste.pop(0)
    # Die Summe ergibt aus element + Summe der Restliste
    return element + summe(liste)

ergebnis = summe([2, 9, 20])
print(ergebnis)

Die Funktion summe wird zunächst definiert. Sie addiert die Elemente einer Liste, insofern sie numerisch sind und gibt diese Summe als Rückgabewert zurück. Diese Funktion wird mit der Liste [2,9,20] als Parameter aufgerufen und ihr Rückgabewert der Variablen ergebnis zugewiesen. Ende des Programms wird der Wert von ergebnis ausgegeben.

CMU Icon
CMU CS0 1.4 und 1.5
Arbeite die Lektion 1.4.2 und die Übung 1.4.3 im CMU Kurs vollständig ab.
Schau dir im Anschluss daran auch die Lektion 1.5.1 an.