Pythonの関数に、引数として関数を渡す方法についてです。
これをうまく活用できると便利かもしれない……
サンプル
関数を引数に持つ関数
関数を引数に持つ関数はこのように作ります。
Pythonは、引数に形名を付けないので、分かりやすい名前を付ければOK。
ここでは、「1, 2」を引数で貰った関数に渡し、その結果を返します。
def f(func): return func(1, 2)
作った関数を渡す
次に渡す関数を作ります。
引数を2つ持ち、それを加算したものを返す関数とします。
def add(a, b): return a + b
これを最初の関数に渡してあげます。
渡す方法は、関数名をそのまま引数に渡すだけです。
>>> f(add)
3
「add(1, 2)」となるので、結果は3となりましたね。
別の関数を渡してみる
次に別の関数を渡してみましょう。
今度は減算の関数です。
こんな感じ。
def sub(a, b): return a - b
コレを加算の関数と同様、渡してあげます。
>>> f(sub)
-1
「sub(1, 2)」となるので、結果は-1。OKですね。
あとがき
備忘録を兼ねた記事でした。
コレを活用できるよう設計に閃きを持ちたいものです。
実装テクニック*1を知っているだけで、設計の幅が広がる可能性があります。
ので、閃かなかったり、あまり使わなかったとしても、知っておいて損はありませんね!
Excel操作でなんか使え何かなぁー……
*1:というよりコレの場合、基礎テクニックなんだろうが