
関数に関数を渡す。
関数から関数を返す。
任意の数のあらゆる型
の引数を処理。
10
章 関数デコレータ
you are here
387
渡した関数を呼び出す
関数に引数として関数オブジェクトを渡すと、受け取った関数は渡された関数オブ
ジェクトを呼び出すことができます。
次の小さな関数は
apply
といって、関数オブジェクトと値の
2
つの引数を取ります。
apply
関数は関数オブジェクトを呼び出し、呼び出した関数に引数として値を渡して
その結果を呼び出し側コードに返します。
apply
関数は
引数として関数
オブジェクトを
取ることがアノ
テーションから
わかります(そし
て、引数名として
func
を使うのが
慣例)。
第
2
引数として
(任意の型の)任意の
値を渡すことが
できます。ここでも、
アノテーションから
引数型が任意の
オブジェクトである
ことがわかります。
(引数として渡された)関数を呼び出し、唯一の引数
value
を渡します。
この関数呼び出しの結果が
apply
関数から返されます。
apply
のアノテーションは、この関数が任意の関数オブジェクトと任意の値を取
り、何でも返すことを示
しています(すべてがジェネリクス型です)。
>>>
プロンプトで
apply
を簡単にテストすると、
apply
が予想どおりに機能することを確認できます。
apply
関数は
値に対して多く
の組み込み関数
を実行します
(そして、予想
どおりに機能し
ます)。
それぞれの例では、
apply
への第
1
引数が
(上の)
func
引数に
設定されます。
apply
関数は引数
value