pythonの"関数"でも、”関数"を引数として指定できる
例として、下記の関数を微分してやりたいとします。
def f_ex(x):
return 2*x
例えば、関数に”関数”を引数として指定しない場合、下のように書けますが、取り回しが非常に悪いです。
def diff_ex(x):
h = 1e-4
return (2*(x+h)-2*(x-h))/(2*h)
実行例
>>> diff_ex(8)
1.9999999999953388
そこで、関数に”関数”を引数として指定してやることで、簡単に処理を使い回すことができます。
代入したい関数の引数記述部()を省略してやることで、関数に”関数”を引数として指定できます。
例えば、下記のように、好きな関数を引数として指定し、微分する関数を作ることができます。
def diff_f(f, x):
h = 1e-4
return (f(x+h)-f(x-h))/(2*h)
実行例
>>> diff_f(f_ex, 8)
1.9999999999953388
参考・引用