Callback-funktioner i Python
I Python finns det möjlighet att skicka funktioner som parametrar till andra funktioner. I sådana fall skickas funktionerna som variabler (utan runda parenteser) och kallas callbacks. Dessa callback-funktioner kommer att utföras i huvudfunktionens kropp.
Låt oss säga att vi har en funktion test,
som tar ett tal och en funktion som
parameter:
def test(num, func):
pass
Låt oss nu skapa en funktion func,
som kommer att upphöja ett tal till kvadrat:
def func(num):
return num ** 2
Låt oss nu återgå till test och
i dess kropp lägga till kod så att den funktion som skickats
som en callback-parameter också tar ett tal som parameter.
Resultatet blir att
resultatet av test blir att en annan
funktion utförs, där talet kommer att tas
från den första parametern i test:
def test(num, func):
print(func(num))
Därefter anropar vi funktionen test och
skickar 3 som första parameter, och
func som den andra:
test(3, func) # skriver ut 9
Vad blir resultatet av följande kod:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)