Python(高階関数、クロージャ)

def add_n(num):
    # 高階関数かつクロージャー
    def internal(x):
        return x + num;
    return internal

f=add_n(100)
print(f(4))

g=add_n(-10)
print(g(20))

関数プログラミングの考え方を用いてプログラミングを行うことができる言語では高階関数やクロージャの扱いに早いうちから慣れておくと、考え方が低級言語を用いていた場合と変わり、より効率的なプログラミングを行うことができます。

高階関数とは関数を受け取るもの、関数を返すものというように関数が関数を扱うもののことを指し、書き換えが必要な処理の部分は高階関数化して改善していきましょう。
間違っても関数をそのままコピーして、該当箇所だけ書き換えるようなコピペプログラマーにならないように注意!!

クロージャは外部の環境を受け取って処理を返すもののことを指し、関数プログラミングでは高階関数と組み合わせて用いられることが多いようです。

ひとつの言語に固執しているだけでは身につけることができない考え方も多々あるので、低級言語だけでなく高級言語も学習することで、より効率的なプログラミングを行うことができるようになると思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください