Pythonでのコールバック関数

Pythonでは、関数を他の関数のパラメータとして渡すことが可能です。この際、関数は変数として(丸括弧なしで)渡され、コールバックと呼ばれます。 このようなコールバック関数は、メイン関数の本体で実行されます。

数値と関数をパラメータとして受け取る関数testがあるとしましょう:

pythondef test(num, func):
  pass

次に、数値を2乗する関数funcを作成しましょう:

pythondef func(num):
  return num ** 2

ここで、testに戻り、その本体にコードを追加して、パラメータとして渡されたコールバック関数も数値をパラメータとして受け取るようにしましょう。結果として、testの結果は他の関数の動作となり、その関数のための数値はtestの最初のパラメータから取得されることになります:

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

次に、関数testを呼び出し、最初のパラメータとして3を、2番目のパラメータとして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)