App下載

Python 中的 Lambda 函數(shù)

可樂派掌門人 2021-08-25 11:22:53 瀏覽數(shù) (3585)
反饋

Python 作為當(dāng)前比較流行的幾種編程語(yǔ)言之一,語(yǔ)言的獨(dú)特性和特點(diǎn)都非常的優(yōu)秀。Python 中好的特性有很多,lambda函數(shù)就是其中之一。下面,我為大家介紹一下Python中的lambda函數(shù)。

Lambda是什么?

Lambda 函數(shù),又名匿名函數(shù)。lambda 函數(shù)是一個(gè)小的匿名函數(shù)。它可以接受任意數(shù)量的參數(shù),但只能有一個(gè)表達(dá)式。

語(yǔ)法

lambda arguments : expression

執(zhí)行表達(dá)式并返回結(jié)果:

示例

將 10 添加到參數(shù) a,并返回結(jié)果:

x = lambda a : a + 10
print(x(5))

Lambda 函數(shù)最好的部分是,它不僅限于單個(gè)參數(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)您將它們用作另一個(gè)函數(shù)中的匿名函數(shù)時(shí),可以更好地展示 lambda 的威力。

假設(shè)您有一個(gè)接受一個(gè)參數(shù)的函數(shù)定義,并且該參數(shù)將乘以一個(gè)未知數(shù):

def myfunc(n):
  return lambda a : a * n

使用該函數(shù)定義來創(chuàng)建一個(gè)函數(shù),該函數(shù)始終將您發(fā)送的數(shù)字加倍:

def myfunc(n):
  return lambda a : a * n

mydoubler = myfunc(2)

print(mydoubler(11))

或者,使用相同的函數(shù)定義在同一個(gè)程序中創(chuàng)建多個(gè)函數(shù):def myfunc(n):

def ?myfunc(n):
    return lambda a : a * n

mydoubler = myfunc(2)
mytripler = myfunc(3)

print(mydoubler(11))
print(mytripler(11))


0 人點(diǎn)贊