Python az iskolában Wiki
Advertisement
Ambox important Ez a szócikk az érettségi követelményeket meghaladó ismeretet tartalmaz.

A lambdafüggvény nem más, mint egy névtelen, egysoros, „egyszer használatos” függvény. Használata minden esetben elkerülhető bővebb kifejtéssel. A lambda a Python funkcionális oldalához tartozik, és a Lispből ered.

Szintaxisa: lambda <argumentumok>: kifejezés

Példák a lambdafüggény használatára:

  • Faktoriális kiszámítása: Itt egyszerűen tömörebb lesz a rekurzív függvény definíciója, de nem lényegi a változás.
  • Érettségi idegen nyelven, 2010 tavasz (Telek)#Második megoldás: Itt viszont segédfüggvényt spórol meg a 3. és a 4. feladatban is – a rendezési kulcs például egy függvény nevét várja paraméterként, és ilyen esetben juthat leghamarabb eszünkbe a lambda.
  • Ebben a cikkben arra látunk példát, hogyan lehet a lambda és a filter kombinációjával egy igen egyszerű kóddal megvalósítani Eratoszthenész szitáját a prímszámok kigyűjtésére. (Bár ennek inkább a szűrés a lényeges eleme.)

Vajon hogy kerül ez az olykor meglehetősen tömör írásmódot lehetővé tevő eszköz egy olyan nyelvbe, amelynek a legfontosabb filozófiai alapvetése a programkód olvashatósága és tisztasága? Ha belegondolunk, nincs ellentmondás. Függvényt írni akkor szoktunk, ha egy összetettebb részfeladatot kell kiemelni az átláthatóság kedvéért, vagy ha ismétlődik egy feladat. Az a segédfüggvény, amelyik visszaadja egy telek területét (a listába ágyazott lista 3. elemét) vagy a „húsz méternél nem szélesebb” logikai értéket, egyik célt sem szolgálja; csak azért kellett definiálni, mert a key egy függvény nevét kéri. Magából a függvényből nem derül ki, mi a célja és hol hívjuk meg. Sokkal áttekinthetőbb lehet a kódunk, ha ezt az „eldobható” függvényt beépítjük a hívás helyére, és nem adunk neki külön nevet – ezt a célt szolgálja a lambdafüggvény.

Olvasmányok[]

Az elméleti háttér a Wikipédiában:

Advertisement