Python匿名関数
922 ワード
関数を転送する場合、表示せずに関数を定義する必要がなく、匿名関数を直接転送するのが便利です.Pythonでは匿名関数のサポートが限られています.やはり
比較すると、匿名関数
キーワード
同様に、匿名関数を戻り値として返すこともできます.
小結
Pythonの匿名関数のサポートは限られており、簡単な場合にのみ匿名関数を使用することができます.
map()
関数を例に、f(x)=xを計算する²の場合、f(x)の関数を定義する以外に、匿名の関数を直接入力することもできます.>>> list(map(lambda x: x *x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
[1, 4, 9, 16, 25, 36, 49, 64, 81]
比較すると、匿名関数
lambda x: x * x
は実際には次のようになります.def f(x):
return x * x
キーワード
lambda
は匿名関数を表し、コロンの前のx
は関数パラメータを表す.匿名関数には、return
と書かずに式が1つしかないという制限があります.戻り値は式の結果です.匿名関数を使用すると、関数に名前がないため、関数名の競合を心配する必要はありません.また、匿名関数も関数オブジェクトです.匿名関数を変数に割り当て、変数を再利用して関数を呼び出すこともできます.>>> f = lambda: x: x * x
>>> f
at 0x101c6ef28>
>>> f(5)
25
同様に、匿名関数を戻り値として返すこともできます.
def build(x, y):
return lambda: x * x + y * y
小結
Pythonの匿名関数のサポートは限られており、簡単な場合にのみ匿名関数を使用することができます.