Funzioni di callback in Python
In Python è possibile passare funzioni come parametri di altre funzioni. In questo caso, le funzioni vengono passate come variabili (senza parentesi tonde) e sono chiamate callback. Queste funzioni di callback verranno eseguite nel corpo della funzione principale.
Supponiamo di avere una funzione test,
che accetta come parametri un numero e
una funzione:
def test(num, func):
pass
Ora creiamo una funzione func,
che eleva un numero al quadrato:
def func(num):
return num ** 2
Ora torniamo a test e
aggiungiamo codice nel suo corpo in modo che la funzione di callback
passata come parametro accetti anche essa un numero come parametro.
Alla fine, il risultato di test sarà l'esecuzione di un'altra
funzione, il cui numero sarà preso
dal primo parametro di test:
def test(num, func):
print(func(num))
Successivamente, chiamiamo la funzione test e
le passiamo come primo parametro 3, e
come secondo - func:
test(3, func) # stampa 9
Quale sarà il risultato della seguente esecuzione del codice:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)