Piton

Cum se utilizează funcțiile Lambda în Python

Cum se utilizează funcțiile Lambda în Python
Acest articol va explica cum să utilizați funcțiile Lambda în Python. Funcțiile Lambda pot fi utilizate pentru a scrie one-liners concise, pentru a implementa logică și pentru a obține rapid valori de returnare care pot fi alimentate către alte expresii.

Despre funcțiile Lambda

Funcțiile Lambda din python sunt funcții anonime și nenumite care pot fi utilizate pentru a crea expresii care returnează un fel de valoare pe baza calculelor implementate în expresia însăși. Logica în aceste funcții lambda poate fi scrisă într-un mod concis, de obicei ceva care se potrivește ușor într-o singură linie. Uneori pot fi greu de citit, mai ales dacă oamenii nu sunt bine versați cu funcțiile Lambda. Cu toate acestea, ele au avantajul de a păstra lucrurile împreună în blocuri de cod și ajută mai bine la înțelegerea contextului.

Sintaxa funcțiilor Lambda

Sintaxa unei funcții Lambda în Python arată astfel:

înmulțiți = lambda x, y: x * y

Prima parte a expresiei lambda, chiar înainte de simbolul colon (:), ia parametrii ca argumente. A doua parte, după simbolul colonului, trebuie să fie o valoare returnată. Această valoare de returnare poate fi și o expresie cu logică. De fapt, funcțiile Lambda sunt utilizate aproape tot timpul pentru a implementa o anumită logică pe argumentele furnizate și apoi pentru a returna rezultatul final.

Pentru a testa funcția Lambda menționată mai sus, puteți utiliza următoarea afirmație:

print (multiplicați (3, 4))

Ar trebui să obțineți următoarea ieșire:

12

Aceeași funcție lambda ar fi altfel scrisă în felul următor:

multiplicați def (x, y):
returnează x * y
print (multiplicați (3, 4))

Ambele probe de cod vor da aceeași ieșire. Mai multe exemple de funcții Lambda sunt explicate mai jos.

Treceți funcțiile Lambda ca argumente

Puteți utiliza funcțiile Lambda pentru a face calcule și pentru a furniza valoarea returnată ca argumente pentru alte funcții. Metoda de sortare în Python ia un argument „cheie” în care puteți specifica o funcție apelabilă care să ia un singur argument în scopuri de sortare. În loc să definiți mai întâi o funcție separată care returnează o cheie și apoi să furnizați referința funcției la argument, puteți utiliza pur și simplu o funcție Lambda.

fructe = [(2, „mere”), (4, „portocale”), (3, „banane”)]
fructe.sortare (cheie = element lambda: element [0])
print (fructe)

Codul de mai sus va produce următoarea ieșire:

[(2, „mere”), (3, „banane”), (4, „portocale”)]

Puteți utiliza lambda în orice astfel de metodă care are ca argument o funcție apelabilă (de exemplu, metoda de filtrare).

Utilizați funcțiile Lambda în lista Înțelegeri

Puteți utiliza Lambda în înțelegerile listelor și o listă va fi creată corespunzător din valorile returnate de expresia Lambda.

get_square = lambda a: a * a
pătrate = [get_square (x) pentru x în intervalul (5)]
imprimare (pătrate)

Aceasta va produce următoarea ieșire:

[0, 1, 4, 9, 16]

Eșantionul de cod de mai sus poate fi, de asemenea, scris în modul următor, unde „x” este furnizat funcției lambda ca argument:

pătrate = [(lambda x: x * x) (x) pentru x în intervalul (5)]
imprimare (pătrate)

Acest exemplu ilustrează doar utilizarea funcțiilor Lambda în înțelegerile listelor. În caz contrar, puteți calcula cu ușurință pătratele folosind o declarație minimă de înțelegere a listei:

print ([x * x pentru x în intervalul (5)])

Utilizați funcțiile Lambda în dicționarele Python

Eșantionul de cod de mai jos ilustrează funcțiile Lambda utilizate în perechile cheie-valoare într-un dicționar Python. Odată definite, puteți apela aceste funcții oricând.

calculate = 'sumă': lambda a, b: a + b, 'diferență': lambda a, b: a - b
print (calculați [„suma”] (4, 5))
print (calculați [„diferența”] (4, 5))

Ar trebui să obțineți următoarea ieșire după ce rulați codul de mai sus:

9
-1

Concluzie

Funcțiile Lambda oferă o modalitate excelentă de a scrie expresii de stenografie și de a menține lucrurile îngrijite și organizate fără a crea inutil o mulțime de funcții numite. Cu toate acestea, utilizarea excesivă a funcțiilor Lambda poate face codul dificil de citit, mai ales atunci când codul este privit de mai multe persoane. Este mai bine să aveți un cod mai ușor de citit (chiar dacă este detaliat) decât să aveți ceva care poate fi puțin greu de înțeles la revizuiri.

Motoare de jocuri gratuite și open source pentru dezvoltarea jocurilor Linux
Acest articol va acoperi o listă de motoare de jocuri gratuite și open source care pot fi utilizate pentru dezvoltarea jocurilor 2D și 3D pe Linux. Ex...
Tutorial Shadow of the Tomb Raider pentru Linux
Shadow of the Tomb Raider este a douăsprezecea completare a seriei Tomb Raider - o franciză de jocuri de acțiune-aventură creată de Eidos Montreal. Jo...
Cum se mărește FPS în Linux?
FPS înseamnă Cadre pe secundă. Sarcina FPS este de a măsura rata de cadre în redările video sau în performanțele jocului. În cuvinte simple, numărul d...