Python

Hvordan bruke Lambda-funksjoner i Python

Hvordan bruke Lambda-funksjoner i Python
Denne artikkelen vil forklare hvordan du bruker Lambda-funksjoner i Python. Lambda-funksjoner kan brukes til å skrive konsise enlinjer, implementere logikk og raskt få returverdier som kan mates til andre uttrykk.

Om Lambda Funksjoner

Lambda-funksjoner i python er navnløse og anonyme funksjoner som kan brukes til å lage uttrykk som returnerer en slags verdi basert på beregningene implementert i selve uttrykket. Logikk i disse lambdafunksjonene kan skrives på en kortfattet måte, vanligvis noe som passer lett i en linje. Noen ganger kan de være vanskelige å lese, spesielt hvis folk ikke er kjent med Lambda-funksjoner. Imidlertid har de fordelen av å holde ting sammen i kodeblokker, og de hjelper bedre med å forstå konteksten.

Syntaks for Lambda-funksjoner

Syntaksen til en Lambda-funksjon i Python ser slik ut:

multipliser = lambda x, y: x * y

Den første delen av lambdauttrykket, like før kolon (:) -symbolet, tar parametere som argumenter. Den andre delen, etter kolon-symbolet, må være en returverdi. Denne returverdien kan også være et uttrykk med logikk. Faktisk brukes Lambda-funksjoner nesten hele tiden for å implementere noen logikk på de angitte argumentene og deretter returnere det endelige resultatet.

For å teste Lambda-funksjonen som er angitt ovenfor, kan du bruke følgende uttalelse:

skriv ut (multipliser (3, 4))

Du bør få følgende utdata:

12

Den samme lambda-funksjonen ville ellers blitt skrevet på følgende måte:

def multipliser (x, y):
returner x * y
skriv ut (multipliser (3, 4))

Begge kodeeksemplene gir samme utdata. Noen flere eksempler på Lambda-funksjoner er forklart nedenfor.

Pass Lambda fungerer som argumenter

Du kan bruke Lambda-funksjoner til å gjøre beregninger og levere returverdien som argumenter til andre funksjoner. Sorteringsmetode i Python tar et "nøkkel" -argument der du kan spesifisere en kallbar funksjon som tar et enkelt argument for sorteringsformål. I stedet for først å definere en egen funksjon som returnerer en nøkkel og deretter levere funksjonens referanse til argumentet, kan du ganske enkelt bruke en Lambda-funksjon.

frukt = [(2, 'epler'), (4, 'appelsiner'), (3, 'bananer')]
frukt.sorter (nøkkel = lambda-element: element [0])
trykk (frukt)

Koden ovenfor vil gi følgende utdata:

[(2, 'epler'), (3, 'bananer'), (4, 'appelsiner')]

Du kan bruke lambda i en hvilken som helst metode som tar en kallbar funksjon som argument (filtermetode for eksempel).

Bruk Lambda-funksjoner i listeforståelser

Du kan bruke Lambda i listeforståelse, og en liste vil bli opprettet fra verdiene som returneres av Lambda-uttrykket.

get_square = lambda a: a * a
firkanter = [get_square (x) for x i rekkevidde (5)]
trykk (firkanter)

Dette vil gi følgende utdata:

[0, 1, 4, 9, 16]

Kodeprøven ovenfor kan også skrives på følgende måte der “x” tilføres lambdafunksjonen som et argument:

firkanter = [(lambda x: x * x) (x) for x i området (5)]
trykk (firkanter)

Dette eksemplet illustrerer bare bruk av Lambda-funksjoner i listeforståelse. Du kan ellers enkelt beregne firkanter ved hjelp av en minimal uttalelse av listeforståelse:

skriv ut ([x * x for x i området (5)])

Bruk Lambda-funksjoner i Python-ordbøker

Kodeprøven nedenfor illustrerer Lambda-funksjoner som brukes i nøkkelverdipar i en Python-ordbok. Når du er definert, kan du ringe disse funksjonene når som helst.

beregne = 'sum': lambda a, b: a + b, 'difference': lambda a, b: a - b
skriv ut (beregne ['sum'] (4, 5))
skriv ut (beregne ['forskjell'] (4, 5))

Du bør få følgende utdata etter å ha kjørt ovennevnte kode:

9
-1

Konklusjon

Lambda-funksjoner gir en utmerket måte å skrive stenografiske uttrykk og holde ting pent og organisert uten unødvendig å skape mange navngitte funksjoner. Imidlertid kan overbruk av Lambda-funksjoner gjøre koden vanskelig å lese, spesielt når koden blir sett på av mer enn en person. Det er bedre å ha mer lesbar kode (selv om den er ordentlig) enn å ha noe som kan være litt vanskelig å forstå på besøk.

Mus WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
Hvis du vil forbedre standardfunksjonene til musepekeren, bruk freeware WinMouse. Det legger til flere funksjoner som hjelper deg å få mest mulig ut a...
Mus Mus venstreklikknapp fungerer ikke på Windows 10
Mus venstreklikknapp fungerer ikke på Windows 10
Hvis du bruker en dedikert mus med den bærbare eller stasjonære datamaskinen, men museklikk-knappen fungerer ikke på Windows 10/8/7 av en eller annen ...
Mus Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Hvis du finner ut at musemarkøren hopper eller beveger seg alene, automatisk, tilfeldig mens du skriver inn Windows-bærbar PC eller datamaskin, kan no...