Lambda wa Python

Lambda funguza inaonekana kama funguza yenye jina yenye ukurabu mdogo.

Lambda funguza inaweza kumwita thamani kwa ukubwa kubwa, lakini inaweza kuwa na mtumiaji pekee sana.

Makadara

lambda arguments : expression

Kufanya hitimisho cha ujumbe na kurejea matokeo:

Mifano

Funguza lambda yenye, inayotaka namba iliyotumika kwa sababu ya kipakana na 10, na kisha kichapisha matokeo:

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

Kusafiri Kwa Mifano

Funguli la lambda inaweza kuwa na uchukunji wa parameteri kwa ujumbe:

Mifano

Funguli la lambda, ambao anafikiria parameteri a na b na anapangia chaguo:

x = lambda a, b : a * b
print(x(5, 6))

Kusafiri Kwa Mifano

Mifano

Funguli la lambda, ambao anafikiria parameteri a, b na c na anapangia chaguo:

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))

Kusafiri Kwa Mifano

Kwa Nini Kufanya Kwa Funguli la Lambda?

Kama unaamua kutumia lambda kama funguli la jina la mtaalamu mwingine, inaonekana kuwa huzina kwa nguvu ya lambda.

Kama una maelezo wa funguli wa mtaalamu na parameteri inayotumika kwa kufikiria namba inayotukwa:

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

Tumia ufafanuzi wa funguli moja kwenye uwanja wa uandishi kwenye funguli ambao anapata uwezo wa kuzingatiza namba inayotukwa kwa ukoo:

Mifano

def myfunc(n):
  return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))

Kusafiri Kwa Mifano

Au, tumia ufafanuzi wa funguli moja kwa uwanja wa uandishi kwenye funguli ambao anapata uwezo wa kuongeza namba inayotukwa kwa tatu:

Mifano

def myfunc(n):
  return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))

Kusafiri Kwa Mifano

Au, tumia ufafanuzi wa funguli moja kwa uwanja wa uandishi wa funguli wawili wanaotumika kwenye programu moja:

Mifano

def myfunc(n):
  return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11)) 
print(mytripler(11))

Kusafiri Kwa Mifano

Kama unaamua kutumia funguli la jina kwa wakati wa kusikia, tumia funguli la lambda.