Python関数:二つ

本論文では、Pythonの機能の詳細については、次の側面から開始します。

  1. 変数のスコープの機能
  2. 関数内のクロージャ現象
  3. 関数デコレータ
  4. 標準ライブラリデコレータ
  5. 重ね合わせデコレータ
  6. パラメトリックデコレーター

デフA(FUNC):

  デフB():

     リターン 

  Bを返します

LEGB原則機能:ローカルスコープ - >外部のスコープ - >グローバルスコープ - >これはすることができ...

 

      ファイルは、グローバルスコープのBで機能体Bは、ローカルスコープと呼ばれる関数B、Bの外側の範囲と呼ばれる関数本体用

      あなたはグローバル変数のq Bに変更を加える必要がある場合は、変数を宣言するために世界的なキーワードを使用してください

関数クロージャ:

    それは閉鎖空間(Aで囲まれたB)と名付けられた覚えて非グローバルスコープの関数ができ:ボディBのために定義されたスコープ行動の関数の変数cが閉鎖基準と呼ばれる呼び出すことができます

    変数は自由変数CCと呼ばれる特徴:未結合の可変ドメインは(グローバルなど)の自由を宣言するために非ローカル変数を使用して、ローカルアクションqに言及します

     

デコレーター:

    定義:目的関数目的関数が変更される前に、別の機能実行リットルの行動の機能を強化します

    パフォーマンス:exはデコレータのような形をしています

    用途:@A

       デフターゲット():

          パス

 

パラメータ化デコレータは:パラメータが渡されるようデコレータは、目的関数は、関数名を受け入れる知って、そしてどのように添えない場合パラメータを持つ目的関数?

       問題の処理パラメータにデコレータ入れ子関数外側層、目的関数

        デフ(* argsを、** kwargsから)を追加します。

          デフA(FUNC):

            デフB(* argsを、** kwargsから):

              リターンRES

            Bを返します

          Aを返します

        前記追加関数g C工場の関数呼び出し、パラメータが目的関数の処理専用

標準ライブラリデコレータ:

    functools.lru_cache lru_cache少なくとも最近最近実行の重複を避けるために、記録を作成するために実行される機能のために使用されています    

        メモ機能は大幅に実行している時間を簡素化することです

    シングルポイントの配布functools.singledispatch dを 

        この設計はまた、CBVのDjangohモードframeworkz ZモードとRESTに反映されます

        異なる方法で、最初のパラメータの同じタイプを実行する関数のセット

        (複数のディスパッチ:特定の機能に応じて複数のパラメータを選択)

 

おすすめ

転載: www.cnblogs.com/zengmu/p/11588556.html