Pythonは(関数型プログラミング)[2-7パイソン匿名関数]を前進しました

Pythonで無名関数

高階関数は、パラメータとしての機能を受け取ることができ、時々、私たちは、明示的に、より便利に無名関数に直接関数を定義する必要はありません。

Pythonでは、匿名関数には、限定的なサポートを提供します。またはマップ()関数に、例えば、Fを計算する(X)= X 、定義に加え直接匿名関数にも外側の関数f(x)を、および

1 >>>マップ(ラムダ X:X * X [1、5 ,. 6 ,. 7 ,. 8 ,. 9 2 ,. 3 ,. 4 ,.。]) ラムダは、XはX Xにより定義される関数であり、*は直接到来関数
2 [1、4、9、16、25、36、49、64、81]

X * xの事実:それは無名関数のラムダXを比較して見ることができるように。

1つの デフF(X):
 2      リターン X * X

キーワードラムダは、無名関数を表し、大腸の前に、  xは関数パラメータです

匿名関数は制限があり、それが唯一の表現で、戻り値は、式の結果であり、リターンを書いていません

無名関数の使用は、あなたが直接、関数オブジェクトを作成し、多くの時間はあなたがコードを簡素化することができ、関数名を定義することはできません。

タスク

次のコードを簡素化するために無名関数を使用することにより:

DEF(S)IS_NOT_EMPTY:
    リターンSとlen(s.strip())> 0 
フィルタ(IS_NOT_EMPTY、[ 'テスト'、なし、 ''、 'STR'、 ''、 'END'])
1つの 印刷フィルタ(ラムダ S:S  LEN(s.strip())> 0、[ ' テスト'、なし、'' ' STR ''   '' END ' ])

 

おすすめ

転載: www.cnblogs.com/ucasljq/p/11622007.html