Piton

A Lambda függvények használata a Pythonban

A Lambda függvények használata a Pythonban
Ez a cikk elmagyarázza a Lambda függvények használatát a Pythonban. A Lambda funkciók segítségével tömör egysorosakat írhatunk, logikát valósíthatunk meg, és gyorsan megkapjuk a visszatérési értékeket, amelyek más kifejezésekhez adhatók.

A Lambda funkciókról

A python Lambda függvényei meg nem nevezett és névtelen függvények, amelyek felhasználhatók olyan kifejezések létrehozására, amelyek valamilyen értéket adnak vissza a kifejezésben végrehajtott számítások alapján. Ezekben a lambda függvényekben a logika tömören írható, általában olyasmi, ami könnyen elfér egy sorban. Néha nehezen olvashatók, főleg, ha az emberek nem ismerik jól a Lambda funkcióit. Ennek azonban előnye, hogy kódblokkokban tartják a dolgokat, és jobban segítenek megérteni a kontextust.

A lambda funkciók szintaxisa

A Python Lambda függvényének szintaxisa a következőképpen néz ki:

szoroz = lambda x, y: x * y

A lambda kifejezés első része, közvetlenül a kettőspont (:) szimbólum előtt, paramétereket vesz argumentumként. A kettőspont szimbólum után a második résznek visszatérési értéknek kell lennie. Ez a visszatérési érték lehet logikai kifejezés is. Valójában a Lambda függvényeket szinte folyamatosan használják, hogy bizonyos logikát valósítsanak meg a megadott argumentumokon, majd visszaadják a végeredményt.

A Lambda függvény fent leírt teszteléséhez használhatja a következő állítást:

nyomtatás (szorzás (3, 4))

A következő kimenetet kell kapnia:

12

Ugyanezt a lambda függvényt egyébként a következő módon írnánk:

def szorozni (x, y):
vissza x * y
nyomtatás (szorzás (3, 4))

Mindkét kódminta ugyanazt a kimenetet adja. Néhány további példát a Lambda funkciókra az alábbiakban ismertetünk.

Pass Lambda függvények argumentumként

A Lambda függvényekkel számításokat végezhet, és a visszatérési értéket argumentumként megadhatja más függvényeknek. A rendezési módszer a Pythonban egy „kulcs” argumentumot vesz igénybe, ahol megadhat egy hívható függvényt, amely rendezés céljából egyetlen argumentumot vesz fel. Ahelyett, hogy először meghatározna egy külön függvényt, amely visszaad egy kulcsot, majd megadja a függvény hivatkozását az argumentumra, egyszerűen használhat egy Lambda függvényt.

gyümölcs = [(2, 'alma'), (4, 'narancs'), (3, 'banán')]
gyümölcsök.rendezés (kulcs = lambda elem: elem [0])
nyomtatás (gyümölcs)

A fenti kód a következő kimenetet hozza létre:

[(2, „alma”), (3, „banán”), (4, „narancs”)]

Bármely olyan módszerben használhatja a lambda-t, amely hívható függvényt vesz fel argumentumként (például szűrési módszer).

Használja a Lambda függvényeket a listamegértésekben

Használhatja a Lambda-t a listamegértésekben, és a Lambda kifejezés által visszaadott értékekből egy lista megfelelően létrejön.

get_square = lambda a: a * a
négyzetek = [get_square (x) x-re a tartományban (5)]
nyomtatás (négyzetek)

Ez a következő kimenetet eredményezi:

[0, 1, 4, 9, 16]

A fenti kódmintát a következõ módon is fel lehet írni, ahol argumentumként „x” -t adunk a lambda függvénynek:

négyzetek = [(lambda x: x * x) (x) x-re az (5) tartományban]
nyomtatás (négyzetek)

Ez a példa csak a Lambda függvények használatát szemlélteti a listamegértésekben. Egyébként egyszerűen kiszámíthatja a négyzeteket egy minimális listamegértési utasítással:

nyomtatás ([x * x az x tartományban (5)])

Használja a Lambda függvényeket a Python szótárakban

Az alábbi kódminta a Lambda függvényeket szemlélteti a Python szótár kulcs-érték párjain belül. Miután meghatározta, bármikor meghívhatja ezeket a függvényeket.

kiszámítja = 'összeg': lambda a, b: a + b, 'különbség': lambda a, b: a - b
nyomtatás (kiszámítja az [összeget] (4, 5))
nyomtatás (kiszámítja a [különbséget] (4, 5))

A fenti kód futtatása után a következő kimenetet kell kapnia:

9
-1

Következtetés

A Lambda funkciók kiváló lehetőséget nyújtanak gyorsírási kifejezések írására és a dolgok rendezettségére és rendezésére anélkül, hogy feleslegesen hoznának létre sok megnevezett funkciót. A Lambda funkciók túlzott használata azonban megnehezítheti a kód olvasását, különösen akkor, ha a kódot egynél több személy nézi. Jobb, ha olvashatóbb kód van (még akkor is, ha bőbeszédű), mint valami, amit kissé nehéz megérteni az újbóli látogatáskor.

Sid Meier Civilization VI letöltése és lejátszása Linuxon
Bevezetés a játékba A Civilization 6 egy modern felvétel a Age of Empires játékok sorozatában bevezetett klasszikus koncepcióra. Az ötlet meglehetősen...
A Doom telepítése és lejátszása Linuxon
Bevezetés a Doom-ba A Doom sorozat a 90-es években keletkezett az eredeti Doom megjelenése után. Azonnali sláger volt, és ettől kezdve a játéksorozat ...
Vulkan Linux felhasználók számára
A grafikus kártyák minden új generációjával azt látjuk, hogy a játékfejlesztők átlépik a grafikus hűség határait, és egy lépéssel közelebb kerülnek a ...