Piton

Kako koristiti Lambda funkcije u Pythonu

Kako koristiti Lambda funkcije u Pythonu
Ovaj će članak objasniti kako koristiti Lambda funkcije u Pythonu. Lambda funkcije mogu se koristiti za pisanje jezgrovitih jednorednih linija, implementaciju logike i brzo dobivanje povratnih vrijednosti koje se mogu dodati u druge izraze.

O Lambda funkcijama

Lambda funkcije u pythonu su neimenovane i anonimne funkcije koje se mogu koristiti za stvaranje izraza koji vraćaju neku vrstu vrijednosti na temelju izračuna implementiranih u samom izrazu. Logika u ovim lambda funkcijama može se napisati sažeto, obično nešto što lako stane u jedan redak. Ponekad ih je teško pročitati, pogotovo ako ljudi nisu dobro upućeni u Lambda funkcije. Međutim, oni imaju prednost držanja stvari unutar blokova koda i pomažu u boljem razumijevanju konteksta.

Sintaksa Lambda funkcija

Sintaksa Lambda funkcije u Pythonu izgleda ovako:

pomnoži = lambda x, y: x * y

Prvi dio lambda izraza, neposredno prije dvotačke (:), uzima parametre kao argumente. Drugi dio, nakon simbola dvotačke, mora biti povratna vrijednost. Ova povratna vrijednost može biti i izraz s logikom. Zapravo, Lambda funkcije koriste se gotovo cijelo vrijeme za implementaciju neke logike na dostavljenim argumentima, a zatim za vraćanje konačnog rezultata.

Da biste testirali gore navedenu Lambda funkciju, možete upotrijebiti sljedeću izjavu:

ispis (množenje (3, 4))

Trebali biste dobiti sljedeći izlaz:

12

Ista bi se lambda funkcija inače napisala na sljedeći način:

def multiply (x, y):
povrat x * y
ispis (množenje (3, 4))

Oba uzorka koda dat će isti izlaz. U nastavku su objašnjeni još neki primjeri Lambda funkcija.

Lambda funkcije prenijeti kao argumente

Možete koristiti Lambda funkcije za izračun i isporuku povratne vrijednosti kao argumente drugim funkcijama. Metoda sortiranja u Pythonu uzima argument "ključ" gdje možete odrediti funkciju koja se može pozvati i koja uzima jedan argument u svrhe sortiranja. Umjesto da prvo definirate zasebnu funkciju koja vraća ključ, a zatim navedete referencu na argument, možete jednostavno koristiti Lambda funkciju.

voće = [(2, 'jabuke'), (4, 'naranče'), (3, 'banane')]
voće.razvrstavanje (ključ = lambda element: element [0])
tisak (voće)

Gornji kod će dati sljedeći izlaz:

[(2, 'jabuke'), (3, 'banane'), (4, 'naranče')]

Lambdu možete koristiti u bilo kojoj takvoj metodi koja uzima opozivnu funkciju kao argument (na primjer, metoda filtra).

Upotrijebite Lambda funkcije u Poimanju razumijevanja

Lambdu možete koristiti u razumijevanju popisa i popis će se pravilno stvoriti od vrijednosti koje vraća izraz Lambda.

get_square = lambda a: a * a
kvadrati = = get_square (x) za x u rasponu (5)]
ispis (kvadratići)

To će proizvesti sljedeći rezultat:

[0, 1, 4, 9, 16]

Gornji uzorak koda također se može napisati na sljedeći način gdje se "x" daje lambda funkciji kao argument:

kvadrati = = (lambda x: x * x) (x) za x u rasponu (5)]
ispis (kvadratići)

Ovaj primjer samo ilustrira upotrebu Lambda funkcija u razumijevanju popisa. Inače možete lako izračunati kvadrate koristeći minimalnu izjavu o razumijevanju popisa:

ispis ([x * x za x u rasponu (5)])

Koristite Lambda funkcije u Python rječnicima

Uzorak koda u nastavku ilustrira Lambda funkcije korištene unutar parova ključ / vrijednost u Python rječniku. Jednom definirane, ove funkcije možete pozvati bilo kada.

izračunati = 'zbroj': lambda a, b: a + b, 'razlika': lambda a, b: a - b
ispis (izračunaj ['zbroj'] (4, 5))
ispis (izračunaj ['razlika'] (4, 5))

Nakon pokretanja gornjeg koda trebali biste dobiti sljedeći izlaz:

9
-1

Zaključak

Lambda funkcije pružaju izvrstan način za pisanje stenografskih izraza i održavanje stvari urednom i organiziranom bez nepotrebnog stvaranja puno imenovanih funkcija. Međutim, pretjerano korištenje Lambda funkcija može otežati čitanje koda, pogotovo kada kod gleda više osoba. Bolje je imati čitljiviji kôd (čak i ako je opširan) nego imati nešto što je možda malo teško razumjeti na ponovnim posjetima.

Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...
OpenTTD vs Simutrans
Stvaranje vlastite simulacije prijevoza može biti zabavno, opuštajuće i izuzetno primamljivo. Zbog toga morate isprobati što više igara kako biste pro...
Vodič za OpenTTD
OpenTTD je jedna od najpopularnijih igara za poslovnu simulaciju. U ovoj igri morate stvoriti prekrasan prijevoznički posao. Međutim, počet ćete u poč...