Python

Lambda funktsioonide kasutamine Pythonis

Lambda funktsioonide kasutamine Pythonis
Selles artiklis selgitatakse, kuidas kasutada Pythonis Lambda funktsioone. Lambda funktsioone saab kasutada lühikeste üherealiste kirjutamiseks, loogika rakendamiseks ja kiirete tagastusväärtuste saamiseks, mida saab sisestada teistele avaldistele.

Lambda funktsioonide kohta

Pythoni lambda funktsioonid on nimetud ja anonüümsed funktsioonid, mida saab kasutada avaldiste loomiseks, mis annavad mingisuguse väärtuse, tuginedes avaldises endas rakendatud arvutustele. Nendes lambda funktsioonides saab loogikat kirjutada lühidalt, tavaliselt midagi, mis sobib lihtsalt ühte ritta. Mõnikord võib neid olla raske lugeda, eriti kui inimesed pole Lambda funktsioonidega hästi kursis. Kuid nende eeliseks on asjade kooshoidmine koodiplokkides ja nad aitavad paremini konteksti mõista.

Lambda funktsioonide süntaks

Funktsiooni Lambda süntaks Pythonis näeb välja selline:

korrutada = lambda x, y: x * y

Lambda avaldise esimene osa, vahetult enne koolonit (:) sümbolit, võtab argumentidena parameetrid. Koolonimärgi järel olev teine ​​osa peab olema tagastusväärtus. See tagastusväärtus võib olla ka loogikaga väljend. Tegelikult kasutatakse Lambda funktsioone peaaegu kogu aeg, et juurutada tarnitud argumentidel mõni loogika ja seejärel tagastada lõpptulemus.

Eespool nimetatud Lambda funktsiooni testimiseks võite kasutada järgmist lauset:

print (korrutama (3, 4))

Peaksite saama järgmise väljundi:

12

Sama lambda funktsioon kirjutatakse muul viisil järgmiselt:

def korrutada (x, y):
tagastage x * y
print (korrutama (3, 4))

Mõlemad koodinäidised annavad sama väljundi. Allpool on selgitatud veel mõned näited Lambda funktsioonidest.

Lambda funktsioonide edastamine argumentidena

Lambda funktsioone saate kasutada arvutuste tegemiseks ja tagastusväärtuse argumentide edastamiseks teistele funktsioonidele. Sortimismeetod Pythonis võtab "võtme" argumendi, kus saate määrata kutsuva funktsiooni, mis võtab sortimiseks ühe argumendi. Selle asemel, et kõigepealt määratleda eraldi funktsioon, mis tagastab võtme, ja seejärel sisestada funktsiooni viide argumendile, võite lihtsalt kasutada funktsiooni Lambda.

puuviljad = [(2, "õunad"), (4, "apelsinid"), (3, "banaanid")]
puuviljad.sort (võti = lambda element: element [0])
trükk (puuviljad)

Ülaltoodud kood annab järgmise väljundi:

[(2, "õunad"), (3, "banaanid"), (4, "apelsinid")]

Võite kasutada lambdat mis tahes sellises meetodis, mis võtab argumendina väljakutsuva funktsiooni (näiteks filtreerimismeetod).

Lambda funktsioonide kasutamine loendi mõistetes

Lambdat saate kasutada loendi mõistmisel ja Lambda avaldise tagastatud väärtustest luuakse nõuetekohaselt loend.

get_square = lambda a: a * a
ruudud = [saada x ruutu (x) x vahemikus (5)]
print (ruudud)

See annab järgmise väljundi:

[0, 1, 4, 9, 16]

Eespool toodud koodinäidise saab kirjutada ka järgmiselt, kus lambda funktsioonile argumendina antakse „x”:

ruudud = [(lambda x: x * x) (x) x vahemikus (5)]
print (ruudud)

See näide illustreerib lihtsalt Lambda funktsioonide kasutamist loendi mõistmisel. Muul viisil saate ruudud hõlpsalt arvutada, kasutades minimaalset loendi mõistmise lauset:

print ([x * x x vahemikus (5)])

Kasutage Pythoni sõnastikes Lambda funktsioone

Allpool olev koodinäide illustreerib Lambda funktsioone, mida kasutatakse Pythoni sõnaraamatu võtmeväärtuste paarides. Kui see on määratletud, saate neid funktsioone igal ajal kutsuda.

arvuta = 'summa': lambda a, b: a + b, 'erinevus': lambda a, b: a - b
print (arvuta ['summa'] (4, 5))
print (arvuta ['vahe'] (4, 5))

Pärast ülaltoodud koodi käivitamist peaksite saama järgmise väljundi:

9
-1

Järeldus

Lambda funktsioonid pakuvad suurepärast võimalust kirjutada lühikesi väljendeid ja hoida asju korralikult ja korrastatult, ilma et oleks vaja luua palju nimetatud funktsioone. Lambda funktsioonide ületarbimine võib aga muuta koodi raskesti loetavaks, eriti kui koodi vaatab rohkem kui üks inimene. Parem on, kui teil on loetavam kood (isegi kui see on verboosne) kui see, millel on midagi, mida võib korduvkülastuste ajal natuke raskesti mõista.

Juhtige ja hallake hiire liikumist mitme kuvari vahel Windows 10-s
Dual Display Mouse Manager võimaldab teil kontrollida ja konfigureerida hiire liikumist mitme monitori vahel, aeglustades selle liikumist piiri läheda...
WinMouse võimaldab teil kohandada ja parandada hiirekursori liikumist Windowsi arvutis
Kui soovite oma hiirekursori vaikefunktsioone paremaks muuta, kasutage vabavara WinMouse. See lisab rohkem funktsioone, mis aitavad teil alandlikust h...
Hiire vasakklõps nupp ei tööta Windows 10-s
Kui kasutate oma sülearvuti või lauaarvutiga spetsiaalset hiirt, kuid hiire vasakklõps nupp ei tööta mingil põhjusel operatsioonisüsteemis Windows 10/...