⊗pyPmFnLa 16 of 129 menu

Lambda-funksie in Python

Gestel ons het 'n funksie func, wat 'n lys en 'n callback as parameters aanvaar. Die funksie sal 'n nuwe lys skep uit die elemente van die oorspronklike lys. Met elke element sal die callback toegepas word:

def func(lst, callback): res = [] for el in lst: res.append(callback(el)) return res

Laat ons nou 'n funksie square skep, wat die getal wat aan dit oorgedra word in die kwadraat sal verhef:

def square(num): return num ** 2

Kom ons stuur die numeriese lys en die funksie square as callback na die parameters van func:

print( func([1, 2, 3], square) )

'N Nuwe lys, bestaande uit die kwadrate van die getalle, sal in die konsole vertoon word:

[1, 4, 9]

Hierdie kode kan eger aansienlik verkort word deur die lambda-funksie te gebruik - 'n anonieme funksie wat met die sleutelwoord lambda aangeroep word en in een reël geskryf word. Daarom kan slegs funksies waarvan die kode een reël beslaan, naar 'n lambda-funksie oorgeskryf word.

Die sintaksis van die lambda-funksie lyk so:

lambda funksie parameter: bewerking met die funksie parameter

Laat ons die funksie square met behulp van 'n lambda-funksie herskryf en dit na die parameter func stuur:

print( func([1, 2, 3], lambda num: num ** 2) )

Die lambda-funksie kan in 'n veranderlike geskryf word:

square = lambda num: num ** 2 print( func([1, 2, 3], square) )

Herskryf die volgende kode met 'n lambda-funksie:

def func(num, clb): return clb(num) def clb(num): return num + 1 print( func(2, clb) )

Herskryf die volgende kode met 'n lambda-funksie:

def func(num, clb1, clb2): return (clb1(num), clb2(num)) def clb1(num): return num + 1 def clb2(num): return num - 1 print( func(2, clb1, clb2) )

Herskryf die volgende kode met 'n lambda-funksie:

def func(num1, num2, clb): res = clb(num1) + num2 return res def clb(num): return num ** 3 print(func(2, 6, clb))
Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp