Python Lambda

Python Lambda
Før du lærer om Python Lambda, er det viktig å snakke om Python -funksjonene.
Funksjoner er ofte skrevet i Python ved å bruke følgende format:

Listen over parametere legges til når vi erklærer dem ved å bruke "def" nøkkelord, gi dem et navn og sette de runde parentesene rundt listen over argumenter. Det kan være flere kodelinjer, som hver inneholder så mange uttalelser og uttrykk som påkrevd. Imidlertid er det situasjoner når vi kanskje vil ha en funksjon med bare ett internt uttrykk som når vi trenger en funksjon som dobler et argument.

Vi kan bruke dobbelt () -metoden sammen med kart () -funksjonen.

Gitt at en lambda -funksjon kan bygges nettopp der den er nødvendig, vil dette være et utmerket sted å bruke en. Dette resulterer i å skrive noen færre kodelinjer og forhindre opprettelsen av de navngitte funksjonene som bare noen gang blir kalt en gang (og deretter må lagres i et minne).

Definisjon av lambda -funksjon

Dette er metodene uten navn. Begrepene anonyme og navnløse funksjoner brukes også til å beskrive dem. I stedet for et navn fungerer begrepet “lambda” som et nøkkelord. Den anonyme naturen til funksjonen som kommer neste er indikert med dette begrepet.

Hvorfor bruke Python Lambda -funksjonene

Den primære bruken av anonyme funksjoner er når en viss funksjon bare kreves en gang. De kan produseres hvor som helst som trenger dem. Python Lambda-funksjoner blir derfor noen ganger referert til som kastemetoder siden de brukes i forbindelse med de andre forhåndsdefinerte funksjonene som filter (), kart () og andre funksjoner. Sammenlignet med standard Python -funksjonene, hjelper disse funksjonene med å redusere antall linjer i koden.

Hvordan bruke Lambda -metodene i Python

Når et kort uttrykk er nødvendig, for eksempel en parameter for en kompleks metode, brukes lambda -funksjoner.

Syntaksen til en lambda -funksjon er som følger:

Uttrykket som utgjør funksjonens kropp er skrevet etter begrepet lambda, ett rom, en liste over alle parametrene atskilt med komma og en tykktarm.
Antall parametere som vi bruker i en lambda -funksjon er opp til oss. Men bare ett uttrykk kan brukes i kroppen.

Vi gjør oppmerksom på at selv om det kan være et ubegrenset antall parametere, kan det bare noen gang være ett uttrykk per argument. Returerklæringen, som vanligvis er en del av syntaks for en definisjon av funksjonen, er fraværende her.

Syntaksen forklares ved å definere argumentet og uttrykkene. La "y" være argumentet og "y+y" er uttrykket.

La oss snakke om noen tekniske aspekter ved Lambda -funksjonene og hva Python -samfunnet anser for å være deres fordeler og ulemper før du går videre til selve emnet.

Fordeler:

Bra for klare, enkle logiske prosedyrer. Dette forbedrer kodens lesbarhet også.
Effektiv når vi trenger en engangsbruksfunksjon.

Ulemper:

De er begrenset til å bruke en setning. En lambda -funksjon kan ikke inkludere mange uavhengige operasjoner.

Ugunstig for handlinger som vil trenge mer enn én uttalelse i en standard definisjon av funksjonen. Bruk en navngitt funksjon på sin plass hvis det tar oss mer enn et minutt å forstå koden.

Eksempel 1:

Vi vil lage en lambda -funksjon som multipliserer attributtet med 2.

Nå utfører vi programmet ved å bruke forrige syntaks.

Vi erklærer en liste som har 6 heltall under variabelen “My_list”. Deretter bruker vi lambda -funksjonen sammen med MAP () -funksjonen i en ny variabel -“New -list”. Til slutt bruker vi utskrift () -funksjonen og får ønsket utgang.

Observer ulikhetene mellom denne metoden og den doble funksjonen som vi skrev om tidligere. Denne er mer håndterbar og bruker mindre minne fordi den ikke inkluderer en ekstra funksjon. Det tar bare en enkelt linjekoding som er enkel å bruke.

Eksempel 2:

Lambda -funksjon kan også brukes til å finne de nødvendige heltallene eller settes på tall enkelt og alternativt. Vi kan lage en lambda -funksjon som avgjør om et heltall er positivt.

Det påfølgende eksemplet drives ved bruk av den tidligere nevnte syntaks.

Begynn med å erklære listen over 6 tall under variabelen som er spesifisert som "My-list". Etter å ha initialisert verdiene på listen, benytter vi oss av lambda-funksjonen sammen med filter () -funksjonen under "new-list" -variabelen. For å skrive ut utdataene i det siste trinnet, bruker vi print () -funksjonen.

Dette forhindrer at behovet for at en navngitt funksjon skal lagres i minnet fordi lambda -funksjonen er erklært når den brukes. For å forhindre en rot er det aktuelt å bruke en lambda -funksjon når en funksjon bare kalles en gang og for å få ønsket utgang ved hjelp av en enkelt linjeformel.

Eksempel 3:

Flere uttalelser er ikke tillatt i Lambda -funksjoner. Men vi kan bygge to Lambda -funksjoner og deretter ringe en av dem som en parameter til en annen Lambda -funksjon. Ved hjelp av Lambda, la oss forsøke å finne det nest største elementet:

Her initialiserer vi et sett med heltall i "listen" -variabelen. Etter å ha laget listen og spesifisert variabelen, utviklet vi en lambda-funksjon som sorterer hver underliste på den medfølgende listen. Den andre Lambda-funksjonen som henter det n-2th elementet fra den sorterte listen og returnerer N som lengden på underlisten kalles deretter å bruke denne listen som et argument.

Eksempel 4:

En funksjon og en liste blir begge akseptert som parametere etter kart () -funksjonen. En ny liste som inkluderer alle lambda-modifiserte elementer gitt av den metoden for hvert element, blir returnert når metoden blir påkalt med en lambda-metode og en liste.

Vi starter med en liste med 10 heltall i "listen" -variabelen. Deretter bruker vi de to funksjonene (kart og lambda) sammen i en "final_list". Til slutt representerer vi vår output ved å bruke print () -funksjonen.

Eksempel 5:

Vi bruker lambda () -funksjonen med Reduce (). En funksjon og en liste er de to argumentene som er akseptert av redusere () Python -funksjonen. Et resultat returneres når metoden påkalles med en lambda -metode og en iterable. Ved hjelp av Iterable's parverdier gjentar dette en operasjon. "Functools" -modulen er der reduksjonsmetoden ligger.

Etter å ha integrert modulen “Reduser” fra “Functools”, lager vi en liste over 6 heltall og erklærer variabelen som “liste”. Deretter bruker du lambda og reduserer funksjonen i "sum" -variabelen for å vise utgangen. Vi brukte print () -funksjonen.

Konklusjon

I denne guiden forklarte vi Lambda -funksjonene. Disse er definert som funksjoner hvis funksjonen vår bare har ett kort uttrykk. Selv om vi her demonstrerte at de er enkle å bruke på noe nivå, er de ikke ofte ansatt av programmerere. For en bedre forståelse av hva som er lambda -funksjonene og hvordan man kan bruke disse funksjonene for å redusere størrelsen eller lengden på en funksjon, implementerte vi også noen koder i artikkelen sammen med noen av fordeler og ulemper, slik at man kan vite fordelene og vanskeligheter med å bruke lambda -funksjonene før du bruker, få en bedre oversikt over situasjonen, og om lambda -funksjonen er aktuelt i en slik situasjon eller ikke.