Callback-Funktionen in Python
In Python besteht die Möglichkeit, Funktionen in Parameter anderer Funktionen zu übergeben. Dabei werden Funktionen wie Variablen übergeben (ohne runde Klammern) und werden Callbacks genannt. Solche Callback-Funktionen werden im Körper der Hauptfunktion ausgeführt.
Angenommen, wir haben eine Funktion test,
die als Parameter eine Zahl und eine
Funktion annimmt:
def test(num, func):
pass
Jetzt erstellen wir eine Funktion func,
die eine Zahl quadriert:
def func(num):
return num ** 2
Kehren wir nun zu test zurück und
ergänzen in ihrem Körper Code, sodass die als
Parameter übergebene Callback-Funktion ebenfalls eine Zahl als Parameter
annimmt. Am Ende wird sich herausstellen, dass
das Ergebnis von test die Ausführung einer anderen
Funktion ist, wobei die Zahl dafür
aus dem ersten Parameter von test stammt:
def test(num, func):
print(func(num))
Als nächstes rufen wir die Funktion test auf und
übergeben ihr den ersten Parameter als 3 und
den zweiten als func:
test(3, func) # gibt 9 aus
Was wird das Ergebnis der Ausführung des folgenden Codes sein:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)