Pythonにおける変数としての関数

Pythonにおいて、関数は本質的に 変数です。これは、関数を 受け渡しできることを意味します。

感嘆符を返す関数があるとします:

pythondef func():
  return '!'

丸括弧なしで関数名を変数として printに渡してみましょう:

pythonprint(func)

コード実行後、この関数に関する情報を 含む特殊なオブジェクトがコンソールに 出力されます:

python<function func at 0x0000022816383E20>

次に、変数func2を宣言し、 その値に関数func1を渡しましょう。 関数自体は値ではなく、オブジェクトとして 参照によって渡されます。そして 丸括弧付きでfunc2を呼び出すと、 コンソールにはfunc1の実行結果が 出力されます:

pythondef func1():
print('!')

func2 = func1
func2() # '!'を出力する
Задание 1

次のコードを実行した結果は どうなりますか:

pythondef func():
  print('hello, user!')

greet = func
print(greet)
Задание 2

次のコードを実行した結果は どうなりますか:

pythondef getSum(num1, num2):
  res = num1 + num2
  return res

func = getSum
print(func(2, 3))