Atgalinio ryšio funkcijos Python
Python yra galimybė perduoti funkcijas kitų funkcijų parametrais. Tuo atveju funkcijos perduodamos kaip kintamieji (be apvalių skliaustų) ir vadinamos atgalinio ryšio funkcijomis. Tokios atgalinio ryšio funkcijos bus vykdomos pagrindinės funkcijos kūne.
Tarkime, kad turime funkciją test,
kuri parametru priima skaičių ir
funkciją:
def test(num, func):
pass
Dabar sukurkime funkciją func,
kuri pakels skaičių kvadratu:
def func(num):
return num ** 2
Dabar grįžkime prie test ir
jos kūne parašykime kodą, kad perduota
parametru atgalinio ryšio funkcija taip pat parametru
priimtų skaičių. Galų gale pasirodys, kad
test rezultatas bus kitos
funkcijos darbas, kurios skaičius bus paimtas
iš pirmojo test parametro:
def test(num, func):
print(func(num))
Toliau iškviečiame funkciją test ir
perduodame jai pirmu parametru 3, o
antru - func:
test(3, func) # išves 9
Koks bus šio kodo vykdymo rezultatas:
def get_Info(txt, func):
print(func(txt))
def func(name):
return 'vartotojo vardas yra ' + name
get_Info('john', func)