Питхон

Како се користе Ламбда функције у Питхону

Како се користе Ламбда функције у Питхону
Овај чланак ће објаснити како се користе Ламбда функције у Питхону. Ламбда функције могу се користити за писање концизних једнослојних линија, примену логике и брзо добијање повратних вредности које се могу проследити другим изразима.

О Ламбда функцијама

Ламбда функције у питхону су неименоване и анонимне функције које се могу користити за стварање израза који враћају неку врсту вредности на основу прорачуна имплементираних у самом изразу. Логика у овим ламбда функцијама може се написати сажето, обично нешто што лако стане у један ред. Понекад их је тешко прочитати, нарочито ако људи нису добро упућени у Ламбда функције. Међутим, они имају предност држања ствари заједно у блоковима кода и помажу у бољем разумевању контекста.

Синтакса Ламбда функција

Синтакса Ламбда функције у Питхону изгледа овако:

помножите = ламбда к, и: к * и

Први део ламбда израза, непосредно пре симбола двотачке (:), узима параметре као аргументе. Други део, након симбола двотачке, мора бити повратна вредност. Ова повратна вредност може бити израз и са логиком. У ствари, Ламбда функције се користе готово све време за примену неке логике на достављеним аргументима, а затим за враћање коначног резултата.

Да бисте тестирали горе наведену Ламбда функцију, можете користити следећу изјаву:

испис (множење (3, 4))

Требали бисте добити следећи излаз:

12

Иста ламбда функција би се иначе написала на следећи начин:

деф мултипли (к, и):
повратак к * и
испис (множење (3, 4))

Оба узорка кода ће дати исти излаз. У наставку су објашњени још неки примери Ламбда функција.

Ламбда функције предати као аргументе

Можете користити Ламбда функције за израчун и испоруку враћене вредности као аргументе другим функцијама. Метод сортирања у Питхону узима аргумент „кључ“ где можете одредити функцију која се може позвати и која узима један аргумент у сврхе сортирања. Уместо да прво дефинишете засебну функцију која враћа кључ, а затим наведете референцу на аргумент, можете једноставно користити Ламбда функцију.

воће = [(2, 'јабуке'), (4, 'поморанџе'), (3, 'банане')]
воће.сортирање (кључ = ламбда елемент: елемент [0])
штампа (воће)

Горњи код ће дати следећи излаз:

[(2, 'јабуке'), (3, 'банане'), (4, 'поморанџе')]

Можете користити ламбда у било којој таквој методи која узима функцију која се може позвати као аргумент (на пример, метода филтрирања).

Користите Ламбда функције у Разумевању списка

Можете да користите Ламбду у разумевању листе и листа ће бити правилно креирана од вредности које враћа израз Ламбда.

гет_скуаре = ламбда а: а * а
квадрата = [гет_скуаре (к) за к у опсегу (5)]
штампа (квадратићи)

Ово ће произвести следећи резултат:

[0, 1, 4, 9, 16]

Горњи узорак кода такође може бити написан на следећи начин где се „к“ даје ламбда функцији као аргумент:

квадрати = = (ламбда к: к * к) (к) за к у опсегу (5)]
штампа (квадратићи)

Овај пример само илуструје употребу Ламбда функција у разумевању листе. Иначе можете лако израчунати квадрате користећи минималну изјаву о разумевању листе:

испис ([к * к за к у опсегу (5)])

Користите Ламбда функције у Питхон речницима

Узорак кода у наставку илуструје Ламбда функције које се користе у паровима кључ / вредност у Питхон речнику. Једном дефиниране, ове функције можете позвати било када.

израчунати = 'збир': ламбда а, б: а + б, 'разлика': ламбда а, б: а - б
испис (израчунај ['збир'] (4, 5))
испис (израчунај ['разлику'] (4, 5))

Након покретања горњег кода требали бисте добити следећи излаз:

9
-1

Закључак

Ламбда функције пружају одличан начин за писање стенографских израза и одржавање ствари уредном и организованом без непотребног стварања пуно именованих функција. Међутим, прекомерно коришћење Ламбда функција може отежати читање кода, посебно када код гледа више особа. Боље је имати читљивији код (чак и ако је опширан) него имати нешто што је можда мало тешко разумети на поновним посетама.

Екран Трацкпад и показивач миша АппиМоусе за Виндовс таблете
Корисницима таблета често недостаје показивач миша, посебно када су уобичајени за коришћење преносних рачунара. Паметни телефони и таблети на додир ос...
Средњи тастер миша не ради у оперативном систему Виндовс 10
Тхе средње дугме миша помаже вам да се крећете кроз дугачке веб странице и екране са пуно података. Ако се то заустави, на крају ћете користити тастат...
Како да промените леви и десни тастер миша на рачунару са Виндовс 10
Сасвим је нормално да су сви уређаји рачунарског миша ергономски дизајнирани за дешњаке. Али постоје доступни уређаји за миш који су посебно дизајнира...