高階関数/コールバック関数

JavaScriptをやっていたとき、コールバック関数について理解できていなかった。

やっと、理解できたわ。

こちらはpythonネ。

# 高階関数
def func1(f,x):
    return x

#コールバック関数
def func2(x):
    return x+1

func1(func2,1)

>>1

 

せっかく、理解できたので、微分を高階関数にした場合のコードを書いてみようー。

def diff(f,x):
    h=1e-10 
    return f(x+h)-f(x)

def squared(x):
     return x**2

diff(squared,2)

4.000000330961484e-10

コールバック関数

コールバック関数、1年前よりは理解できてる〜

def func():
print(‘ピアノは思い出す’ )

def apply(callback):
callback()
print(‘カンナの赤と’)

apply(func)

ピアノは思い出す
カンナの赤と

◎引数を入れたばあい

def add(a,b):
return a+b

def apply(callback,a,b):
return callback(a,b)

apply(add,1,2)

かんちがいしていた点。コールバック関数は受け入れ”られる”側の方を指している。受けいる方は、高階関数という(いままで、こちらをコールバック関数と呼ぶものと、おもっていた)