Python හි callback ශ්‍රිත

Python හි ශ්‍රිත අනෙක් ශ්‍රිතවල පරාමිතීන් ලෙස යැවිය හැකිය. මෙමගින් ශ්‍රිත විචල්‍යයන් ලෙස (වක්‍ර කොටු යට ගත නොකර) යවනු ලබන අතර ඒවා callback ලෙස හැඳින්වේ. මෙම callback ශ්‍රිත ප්‍රධාන ශ්‍රිතයේ ශරීරය තුළ ක්‍රියාත්මක වේ.

අප සතුව test ලෙස ශ්‍රිතයක් ඇතැයි සිතමු, එය පරාමිතියක් ලෙස අංකයක් සහ ශ්‍රිතයක් ගනී:

pythondef test(num, func):
  pass

දැන් අපි func ලෙස ශ්‍රිතයක් නිර්මාණය කරමු, එය අංකයක් වර්ග බලයට ඉහළ නංවයි:

pythondef func(num):
  return num ** 2

දැන් අපි test වෙත ආපසු යමු සහ එහි ශරීරයට කේතය එක් කරමු, එවිට පරාමිතියට යවන ලද callback ශ්‍රිතය ද පරාමිතියක් ලෙස අංකයක් ගනී. අවසානයේදී, test හි ප්‍රතිඵලය වන්නේ වෙනත් ශ්‍රිතයක ක්‍රියාකාරීත්වයයි, ඒ සඳහා අංකය test හි පළමු පරාමිතියෙන් ගනු ලැබේ:

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

ඊළඟට අපි test ශ්‍රිතය කැඳවමු සහ එයට පළමු පරාමිතිය ලෙස 3, සහ දෙවන පරාමිතිය ලෙස - func යවමු:

pythontest(3, func) # 9 ප්‍රතිදානය කරයි
Задание 1

පහත කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය කුමක්ද:

pythondef get_Info(txt, func):
  print(func(txt))
  
def func(name):
  return 'user name is ' + name
  
get_Info('john', func)