Pythonのクローズ

552 ワード

Python関数はネストをサポートします.
1.クローズとは
1つの内部関数で外部関数の役割ドメイン(非グローバル役割ドメイン)の変数を参照すると、内部関数は閉パッケージと呼ばれます.
2.pythonの閉パッケージは3つの条件を満たす必要があります.
  • 閉包関数には、埋め込み関数
  • が必要です.
  • 埋め込み関数は、外層関数の変数
  • を参照する必要があります.
  • 外部関数は、内部関数の関数名を
  • に返します.
    def outer(a):
        b = 3               # outer      ,   
        def inner():
            print(a+b)      #    inner      
        return inner        #         
    out = outer(3)
    print(out())
    

    3.パッケージを閉じるメリット:
  • グローバル変数
  • の使用を避ける.
  • は、部分的なデータの隠蔽
  • を提供することができる.
  • は、より優雅なオブジェクト向け実装
  • を提供することができる.