lisz-works

技術系だけど関係ないこと多い系ブログ

Python 引数に関数を渡して実行させる

【スポンサーリンク】

Python ロゴ

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操作でなんか使え何かなぁー……

www.lisz-works.com

*1:というよりコレの場合、基礎テクニックなんだろうが