Pythonの関数型プログラミング

基本機能の使用について説明し、

なぜ機能を使うのか?

  • コードの再利用を避けます
  • コードの可読性を向上させます

定義と呼び出し機能

デフ関数名(パラメータ1、パラメータ2)
    「」「関数の注釈」「」
    印刷(「関数本体」)
    戻り戻り値

定義:defキーワードを始め、関数名と括弧の後のスペースに続いては、最終的には、コロンを追加します。
関数名:アルファベット、数字、アンダースコアの任意の組み合わせが含まれていますが、数字で始めることはできません関数名。が、関数名は簡単に名前を付けられますが、一般的にない機能を表すように定義することを試みることができます。

関数の戻り値

リターン・アクション:関数の実行が終了する
最初の戻り値が任意のデータ型であってもよいです。
この関数は値を返すことができます:戻り値がある場合は、変数の受信が有効になります使用する必要があります。

戻り値なしたときに3例:

  • リターンを書いていない場合は、関数が値Noneを返します
  • 関数は値Noneを返した場合、書き込み専用のリターン
  •  関数は値Noneを返したときにNoneを返します(ほとんどありません)

戻り値(変数)を返し
、カンマで区切られた複数の値、タプルとして返さ:複数の値を返すリターン(複数の変数が)。
受信:また、複数の変数が受信できる変数を受け、それはいくつかを受信するために、いくつかの変数を返します。

関数のパラメータ

DEFファン(S):#1 パラメータが受け入れる:仮パラメータは、パラメータと呼ばれる
    '「」
        パフォーマンス関数を文字列長の---------関数計算
        パラメータs:計算を受け入れるように文字列を---- ----情報パラメータ
        リターン:文字列の長さを計算するために、戻り---------情報価値がある
    「」「
    の長さは = 0
     のための I S:
        長さ。+ = 1つの
     戻り

RET =楽しい(Helloword "#1 の引数:実際のパラメータ、引数呼ば
プリント(RET)

引数とパラメータ
    パラメータ:時間パラメータの定義は、関数定義され
    た引数:関数呼び出しパラメータで渡された時間
    
複数のパラメータを渡すことは、
    複数を渡すことができパラメータは、複数のパラメータは、カンマで区切られています。
    角度のパラメータの受け渡しに立ち、関数呼び出しのパラメータは、2つの方法で渡さ: 
        位置パラメータに従って
                 渡されたキーワードパラメータ
    
動的パラメータ
    タプルの形式で格納された位置値通過追加パラメータによって統一引数を受信することにより、
    一般的な形式で格納されているkwargsからが送受信する重要なパラメータのキー複数の値を受信することにより、
    引数:
        DEFファン(B、* 引数):
            SUM = A + B
             のための I における引数:
                SUMは + = 私は
             戻りSUMの
         印刷(ファン(1,5,6,4)) 出力1 + 4 + 5 + 6そして
    
    kwargsから:
        DEFファン(A、B、** kwargsから):
             印刷(A、B、kwargsから)

        キーワードパラメータ従う 
        楽しい(= 10、B = 20 Aが、CCCC = 30、DDDD = 50) 出力20は、{10 'CCCC':30、 'DDDD':50}である
        DEF F(A、B、*引数、defult = 6、**。kwargsから):
             #1 位置パラメータ、*引数、デフォルトパラメータ、kwargsから** 
            #を印刷(A、B、引数、defult、kwargsから)
            返し、bは、引数、defult、kwargsから

        #のときパスパラメータを:あなたは位置によってパラメータを渡す必要があり、その後、キーワードによってパラメータを渡す
        印刷(F(2、7、 8、CCC = 10、DER = 5))

二つのネストされた関数とスコープチェーン

1つの関数の名前空間

グローバル名前空間:空間「の関係変数名と値」ストアの作成は、グローバル・ネームスペースと呼ばれる
と呼ばれるローカル名前空間にrun関数で開かれ、一時スペース:ローカル名前空間
のpythonのために保存されたビルトイン名前空間:内蔵された名前空間をインタプリタは名前を提供してくれます:入力、印刷、STR、リスト 、タプル... 彼らはあなたが引き継ぐの方法を使用することができ、すべての私たちに精通しています。

このために、3つの名前空間と値の間の配列のロード:

    ロード順:内蔵(ロードを実行する前に) - >グローバル(上から下へのロード順が来る) - (ときのコール負荷)>ローカル--->内蔵
    値:ローカル通話:ローカル名前空間- - >グローバル名前空間--->内蔵された名前空間

2スコープ:スコープです

名前空間とスコープは不可分です

二つのタイプに分け範囲:

   グローバルスコープ:グローバル名前空間と組み込みの名前空間名グローバルスコープの一部では、どこでもファイル全体で参照することができ、世界的に効果的な
   ローカルスコープ:ローカル名前空間、それが唯一のローカルエリアに反映することができます

全体的な外観から:

  • 時間の名前を使用する:グローバルがある場合は、グローバルに
  • 内蔵した、グローバルな存在しない場合
  • グローバル:[印刷(グローバル())]のグローバルスコープの名前を確認してください
  •  地元の人:ローカルスコープの名前を確認し、[印刷(地元の人々())]

関数内チョン

グローバルネーム = hahha 

 

クロージャー3

休館:内部関数の
パッケージには:変数関数のスコープへの外部参照が含まれ
定義された閉鎖:変数の参照機能が内側だった(ただし、グローバルスコープ)外部スコープの機能であれば閉鎖考え
クロージャ=関数定義環境ときに機能ブロック(内部関数)+

DEF 外側():
    X = 10
     DEFインナー():   条件内1は、内部関数である 
        X = 20であるプリント(X)    第二の外部環境の変数状態戻り  インナー
 外側を()() 
F =アウター()        戻りこれは、内部のメモリアドレスである印刷(F)        
)(F
        
    

 

おすすめ

転載: www.cnblogs.com/harryblog/p/11596106.html