Funksionet Callback në Python
Në Python ekziston mundësia për të kaluar funksione në parametrat e funksioneve të tjera. Në këtë rast funksionet kalohen si variabla (pa kllapa të rrumbullakëta) dhe quhen callback-e. Këto funksione-callback do të ekzekutohen në trupin e funksionit kryesor.
Le të themi se kemi funksionin test,
i cili si parametër merr një numër dhe
një funksion:
def test(num, func):
pass
Tani le të krijojmë një funksion func,
i cili do ta ngrejë numrin në katror:
def func(num):
return num ** 2
Tani le të kthehemi te test dhe në
trupin e tij të shtojmë kod, në mënyrë që funksioni-callback i kaluar si
parametër të marrë edhe ai një numër si parametër. Si rezultat do të dalë se
rezultati i test do të jetë puna e një funksioni
tjetër, numri për të cilin do të merret
nga parametri i parë i test:
def test(num, func):
print(func(num))
Pastaj thërrasim funksionin test dhe
i kalojmë atij si parametër të parë 3, dhe
të dytin - func:
test(3, func) # do të shfaqë 9
Cili do të jetë rezultati i ekzekutimit të kodit në vijim:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)