„Python“

Kaip naudoti „Lambda“ funkcijas „Python“

Kaip naudoti „Lambda“ funkcijas „Python“
Šiame straipsnyje bus paaiškinta, kaip naudoti „Lambda“ funkcijas „Python“. „Lambda“ funkcijos gali būti naudojamos glaustiems vienos eilutės rašymui, logikos įgyvendinimui ir greitai gaunamoms grąžinimo vertėms, kurios gali būti teikiamos kitoms išraiškoms.

Apie „Lambda“ funkcijas

„Lambda“ funkcijos „Python“ yra neįvardytos ir anoniminės funkcijos, kurios gali būti naudojamos kuriant išraiškas, kurios grąžina kažkokią vertę, remiantis skaičiavimais, įgyvendintais pačioje išraiškoje. Logika šiose lambda funkcijose gali būti parašyta glaustai, paprastai tai, kas lengvai telpa vienoje eilutėje. Kartais juos gali būti sunku perskaityti, ypač jei žmonės nėra gerai susipažinę su „Lambda“ funkcijomis. Tačiau jie turi pranašumų, nes viską sujungia kodo blokuose ir padeda geriau suprasti kontekstą.

Lambda funkcijų sintaksė

„Lambda“ funkcijos sintaksė „Python“ atrodo taip:

padauginti = lambda x, y: x * y

Pirmoje lambda išraiškos dalyje prieš pat dvitaškį (:) simbolis argumentai yra parametrai. Antroji dalis po dvitaškio simbolio turi būti grąžinimo vertė. Ši grąžinimo vertė taip pat gali būti logikos išraiška. Tiesą sakant, „Lambda“ funkcijos yra naudojamos beveik visą laiką įgyvendinant tam tikrą logiką pateiktuose argumentuose ir tada grąžinant galutinį rezultatą.

Norėdami išbandyti aukščiau nurodytą „Lambda“ funkciją, galite naudoti šį teiginį:

spausdinti (padauginti (3, 4))

Turėtumėte gauti šią išvestį:

12

Ta pati lambda funkcija kitaip būtų parašyta taip:

def padauginti (x, y):
grąžinti x * y
spausdinti (padauginti (3, 4))

Abu kodo pavyzdžiai duos tą pačią išvestį. Toliau paaiškinta keletas kitų „Lambda“ funkcijų pavyzdžių.

„Pass Lambda“ funkcijos kaip argumentai

Galite naudoti „Lambda“ funkcijas skaičiavimams atlikti ir grąžinimo vertę pateikti kaip argumentus kitoms funkcijoms. Rūšiavimo metodas „Python“ apima „rakto“ argumentą, kuriame galite nurodyti iškviečiamą funkciją, kuri rūšiavimo tikslais užima vieną argumentą. Užuot pirmiausia apibrėžę atskirą funkciją, kuri grąžina raktą, o tada pateikdami funkcijos nuorodą į argumentą, galite tiesiog naudoti „Lambda“ funkciją.

vaisiai = [(2, „obuoliai“), (4, „apelsinai“), (3, „bananai“)]
vaisius.rūšiuoti (raktas = lambda elementas: elementas [0])
spauda (vaisiai)

Aukščiau pateiktas kodas sukurs tokią išvestį:

[(2, „obuoliai“), (3, „bananai“), (4, „apelsinai“)]

„Lambda“ galite naudoti bet kuriame tokiame metode, kurio argumentas yra iškviečiama funkcija (pvz., Filtravimo metodas).

Sąrašo supratime naudokite „Lambda“ funkcijas

Sąrašo supratime galite naudoti „Lambda“ ir sąrašas bus tinkamai sudarytas iš reikšmių, kurias grąžino „Lambda“ išraiška.

get_square = lambda a: a * a
kvadratai = [get_square (x) x diapazone (5)]
spausdinti (kvadratai)

Tai duos tokį rezultatą:

[0, 1, 4, 9, 16]

Aukščiau pateiktą kodo pavyzdį taip pat galima parašyti tokiu būdu, kai „lambda“ funkcijai kaip argumentas tiekiamas „x“:

kvadratai = [(lambda x: x * x) (x) x diapazone (5)]
spausdinti (kvadratai)

Šis pavyzdys tik parodo „Lambda“ funkcijų naudojimą suprantant sąrašus. Kitaip galite lengvai apskaičiuoti kvadratus naudodami minimalų sąrašo supratimo teiginį:

spausdinti ([x * x x x diapazone (5)])

Naudokite „Lambda“ funkcijas „Python“ žodynuose

Žemiau pateiktas kodo pavyzdys iliustruoja „Lambda“ funkcijas, naudojamas raktų reikšmių porose „Python“ žodyne. Apibrėžę galite bet kada iškviesti šias funkcijas.

apskaičiuokite = 'suma': lambda a, b: a + b, 'skirtumas': lambda a, b: a - b
spausdinti (apskaičiuoti ['sumą]] (4, 5))
spausdinti (apskaičiuoti ['skirtumas'] (4, 5))

Paleidę pirmiau nurodytą kodą turėtumėte gauti šią išvestį:

9
-1

Išvada

„Lambda“ funkcijos suteikia puikų būdą rašyti trumpąsias išraiškas ir išlaikyti daiktus tvarkingus bei sutvarkytus be reikalo kuriant daug pavadintų funkcijų. Tačiau per didelis „Lambda“ funkcijų naudojimas gali apsunkinti kodo skaitymą, ypač kai į kodą žiūri daugiau nei vienas asmuo. Geriau turėti labiau įskaitomą kodą (net jei jis yra žodinis), nei turėti ką nors, ką gali būti šiek tiek sunku suprasti pakartotinai.

Geriausios „Linux“ skirtos „Gamepad“ žemėlapių sudarymo programos
Jei jums patinka žaisti žaidimus „Linux“ su žaidimų pultu, o ne įprasta klaviatūra ir pelės įvesties sistema, yra keletas jums naudingų programų. Daug...
Naudingi įrankiai „Linux“ žaidėjams
Jei jums patinka žaisti žaidimus „Linux“ sistemoje, yra tikimybė, kad galbūt naudojote tokias programas ir įrankius kaip „Wine“, „Lutris“ ir „OBS Stud...
„HD Remastered“ žaidimai, skirti „Linux“, kurie niekada anksčiau nebuvo išleisti „Linux“
Daugelis žaidimų kūrėjų ir leidėjų siūlo senų žaidimų HD remasterį, kad prailgintų franšizės laiką. Prašome gerbėjų, prašančių suderinamumo su šiuolai...