Python

Kā izmantot Lambda funkcijas Python

Kā izmantot Lambda funkcijas Python
Šajā rakstā tiks paskaidrots, kā izmantot Lambda funkcijas Python. Lambda funkcijas var izmantot, lai rakstītu kodolīgus vienrindas, ieviestu loģiku un ātri iegūtu atgriezeniskās vērtības, kuras var ievadīt citām izteiksmēm.

Par Lambda funkcijām

Lambda funkcijas pitonā ir nenosauktas un anonīmas funkcijas, kuras var izmantot, lai izveidotu izteicienus, kas atgriež kaut kādu vērtību, pamatojoties uz aprēķiniem, kas ieviesti pašā izteiksmē. Loģiku šajās lambda funkcijās var uzrakstīt kodolīgi, parasti kaut ko tādu, kas viegli ietilpst vienā rindā. Dažreiz tos var būt grūti lasīt, it īpaši, ja cilvēki nav labi pārzina Lambda funkcijas. Tomēr viņiem ir tas labums, ka koda blokos lietas tiek turētas kopā, un tās palīdz labāk izprast kontekstu.

Lambda funkciju sintakse

Funkcijas Lambda sintakse Python izskatās šādi:

reizināt = lambda x, y: x * y

Lambda izteiksmes pirmajā daļā, tieši pirms kolas (:) simbola, parametri tiek izmantoti kā argumenti. Otrajai daļai aiz resnās zarnas simbola jābūt atgriešanās vērtībai. Šī atgriešanās vērtība var būt izteiksme arī ar loģiku. Faktiski Lambda funkcijas tiek izmantotas gandrīz visu laiku, lai ieviestu kādu loģiku piegādātajos argumentos un pēc tam atgrieztu galīgo rezultātu.

Lai pārbaudītu iepriekš norādīto Lambda funkciju, varat izmantot šādu paziņojumu:

drukāt (reizināt (3, 4))

Jums vajadzētu iegūt šādu izvadi:

12

To pašu lambda funkciju citādi rakstītu šādi:

def reizināt (x, y):
atgriezties x * y
drukāt (reizināt (3, 4))

Abi kodu paraugi sniegs vienādu izvadi. Tālāk ir paskaidroti vēl daži Lambda funkciju piemēri.

Pass Lambda funkcijas kā argumenti

Varat izmantot Lambda funkcijas, lai veiktu aprēķinus un atgriezto vērtību kā argumentus piegādātu citām funkcijām. Kārtošanas metodei Python ir nepieciešams arguments “atslēga”, kurā varat norādīt izsaucamo funkciju, kas kārtošanas vajadzībām aizņem vienu argumentu. Tā vietā, lai vispirms definētu atsevišķu funkciju, kas atgriež atslēgu, un pēc tam sniegtu funkcijas atsauci uz argumentu, jūs varat vienkārši izmantot funkciju Lambda.

augļi = [(2, 'āboli'), (4, 'apelsīni'), (3, 'banāni')]
augļi.kārtot (atslēga = lambda elements: elements [0])
druka (augļi)

Iepriekš minētais kods radīs šādu izvadi:

[(2, 'āboli'), (3, 'banāni'), (4, 'apelsīni')]

Jūs varat izmantot lambda jebkurā citā metodē, kas kā izsaucamo funkciju izmanto izsaucamo funkciju (piemēram, filtrēšanas metode).

Izmantojiet Lambda funkcijas saraksta izpratnē

Sarakstu izpratnē varat izmantot Lambda, un saraksts tiks pareizi izveidots no Lambda izteiksmes atgrieztajām vērtībām.

get_square = lambda a: a * a
kvadrāti = [get_square (x) x diapazonā (5)]
druka (kvadrāti)

Tādējādi tiks iegūta šāda izeja:

[0, 1, 4, 9, 16]

Iepriekš minēto koda paraugu var uzrakstīt arī šādā veidā, kur “x” tiek piegādāts lambda funkcijai kā arguments:

kvadrāti = [(lambda x: x * x) (x) x diapazonā (5)]
druka (kvadrāti)

Šis piemērs tikai ilustrē Lambda funkciju izmantošanu saraksta izpratnē. Pretējā gadījumā jūs varat viegli aprēķināt kvadrātus, izmantojot minimālu saraksta izpratnes paziņojumu:

drukāt ([x * x x diapazonā (5)])

Izmantojiet Lambda funkcijas Python vārdnīcās

Tālāk redzamais kodu paraugs ilustrē Lambda funkcijas, kas tiek izmantotas atslēgas vērtību pāros Python vārdnīcā. Pēc definēšanas šīs funkcijas var izsaukt jebkurā laikā.

aprēķināt = 'summa': lambda a, b: a + b, 'starpība': lambda a, b: a - b
izdrukāt (aprēķināt ['summa'] (4, 5))
izdrukāt (aprēķināt ['starpību'] (4, 5))

Pēc iepriekš minētā koda izpildīšanas jums vajadzētu iegūt šādu izvadi:

9
-1

Secinājums

Lambda funkcijas nodrošina lielisku veidu, kā rakstīt stenogrammas un saglabāt lietas kārtīgas un sakārtotas, nevajadzīgi neradot daudz nosaukto funkciju. Tomēr pārmērīga Lambda funkciju izmantošana var padarīt kodu grūti lasāmu, jo īpaši, ja kodu skatās vairāk nekā viena persona. Labāk, ja jums ir lasāmāks kods (pat ja tas ir daudzbalsīgs), nekā tas, kas atkārtoti var būt mazliet grūti saprotams.

Kā izstrādāt spēli Linux
Pirms desmit gadiem maz Linux lietotāju varētu paredzēt, ka viņu iecienītā operētājsistēma kādu dienu būs populāra spēļu platforma komerciālām videosp...
Komerciālo spēļu dzinēju atvērtā koda porti
Bezmaksas, atvērtā koda un starpplatformu spēļu dzinēju atpūtu var izmantot, lai spēlētu vecos, kā arī dažus no diezgan nesenajiem spēļu nosaukumiem. ...
Labākās komandrindas spēles Linux
Komandrinda nav tikai lielākais sabiedrotais, lietojot Linux, bet tā var būt arī izklaides avots, jo to var izmantot, lai spēlētu daudzas jautras spēl...