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ą:

pythondef test(num, func):
  pass

Dabar sukurkime funkciją func, kuri pakels skaičių kvadratu:

pythondef 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:

pythondef test(num, func):
  print(func(num))

Toliau iškviečiame funkciją test ir perduodame jai pirmu parametru 3, o antru - func:

pythontest(3, func) # išves 9
Задание 1

Koks bus šio kodo vykdymo rezultatas:

pythondef get_Info(txt, func):
  print(func(txt))
  
def func(name):
  return 'vartotojo vardas yra ' + name
  
get_Info('john', func)