Fachkonzept - Callback-Funktion
Verhaltensfestlegung zur Laufzeit
Eine Callback-Funktion (bzw. Rückruffunktion) ist eine Funktion, die einer anderen Funktion als Parameter übergeben wird und von dieser unter gewissen Bedingungen aufgerufen wird.
Das folgende Programm benutzt Callback-Funktionen bei der Erzeugung von Wertetabellen:
# Funktion mit Funktionsparameter
def wertetabelle(f, x_werte):
y_werte = []
for w in x_werte:
y_werte = y_werte + [(w, f(w))]
return y_werte
# Callback-Funktion
def g(x):
return x*x
# Callback-Funktion
def h(x):
return x-1
# Aktualisierung des Funktionsparameters mit Callback-Funktionen
print ("Wertetabelle von g:")
print wertetabelle(g, range(-3, 4, 1))
print ("Wertetabelle von h:")
print wertetabelle(h, range(-4, 5, 1))
Zunächst wird eine Funktion zur Erzeugung von Wertetabellen allgemein (ohne Rückgriff auf eine spezielle Funktion) definiert.
Bei konkreten Aufrufen dieser Funktion muss die zur Berechnung der Funktionswerte benutzte Funktion konkretisiert werden. Hierzu übergibt man eine Callback-Funktion an den hierfür vorgesehenen Parameter.
Das Konzept der Callback-Funktion erlaubt es also, Funktionen allgemein zu definieren und ihr Verhalten erst beim Aufrufen durch Angabe der Callback-Funktion zu konkretisieren.