Python 作為當(dāng)前比較流行的幾種編程語言之一,語言的獨(dú)特性和特點(diǎn)都非常的優(yōu)秀。Python 中好的特性有很多,lambda函數(shù)就是其中之一。下面,我為大家介紹一下Python中的lambda函數(shù)。
Lambda是什么?
Lambda 函數(shù),又名匿名函數(shù)。lambda 函數(shù)是一個小的匿名函數(shù)。它可以接受任意數(shù)量的參數(shù),但只能有一個表達(dá)式。
語法
lambda arguments : expression
執(zhí)行表達(dá)式并返回結(jié)果:
示例
將 10 添加到參數(shù) a,并返回結(jié)果:
x = lambda a : a + 10
print(x(5))
Lambda 函數(shù)最好的部分是,它不僅限于單個參數(shù)。相反,它可以根據(jù)需要采用盡可能多的參數(shù)。例如,在下面共享的代碼片段中,它總結(jié)了參數(shù) a、b 和 c 并返回結(jié)果:
x = lambda a, b, c : a + b + c
print(x(5, 6, 2))
為什么使用 Lambda 函數(shù)
當(dāng)您將它們用作另一個函數(shù)中的匿名函數(shù)時,可以更好地展示 lambda 的威力。
假設(shè)您有一個接受一個參數(shù)的函數(shù)定義,并且該參數(shù)將乘以一個未知數(shù):
def myfunc(n):
return lambda a : a * n
使用該函數(shù)定義來創(chuàng)建一個函數(shù),該函數(shù)始終將您發(fā)送的數(shù)字加倍:
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))
或者,使用相同的函數(shù)定義在同一個程序中創(chuàng)建多個函數(shù):def myfunc(n):
def ?myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))