関数の引数に関数そのものを入れる


概要


関数の引数に関数そのものを入れることができる。
やり方は以下を参照


def func01(func):
    func()

def func02():
    print('やあ!')

func01(func02)

関数func01を以下に定義。引数はfunc
    func()を実行せよ

関数func02を以下に定義。引数はなし
    「やあ!」と出力せよ

func01を引数func02で実行せよ

出力


上の例では関数func01を実行するのに
引数に関数func02そのものを入れて
func01中に引数の関数そのものを実行している

説明


関数を引数として入れる場合
引数に入れるfunc02に()がついていないのに注意
()をつけるとエラーになる

またこの状態だと()がないため
当然func02に引数を入れたものを使うことができない

func01(func02(a))

のようにするとエラーになる。

間違えやすい問題