Python学習の道(関数式プログラミングのクローズド)

520 ワード

高次関数の戻り関数は、閉じられています.
例を挙げて説明します.私たちは関数lazy_にいます.sumには関数sumが定義されています.また、内部関数sumは外部関数lazy_を参照することができます.sumのパラメータと局所変数は、lazy_sumが関数sumに戻ると、関連パラメータと変数は戻りの関数に保存されます.このような「クローズド」と呼ばれるプログラム構造は非常に威力があります.javascriptでもよく使われています.とても強いです.
def lazy_sum(L):
    def sum():
        ax = 0
        for s in L:
            ax = ax + s
        return ax
    return sum
f = lazy_sum([1,2,3,4])
print(f()) #   f()        
一波に注目!好きです私は先端の初心者です.自分のブログを作っています.鄧鵬さんのブログです.交流学習に来てください.使用する技術はvue+koa 2+mysql+php+inxです.