Python je općeniti i široko korišteni programski jezik novijeg doba. Međutim, Python nudi mnoge ugrađene funkcije za obavljanje hrpe specifičnih zadataka. Međutim, možemo stvoriti vlastite funkcije za izvršavanje određenog zadatka. U Pythonu ključna riječ lambda stvara anonimnu funkciju. Funkcija bez imena naziva se anonimna funkcija. Obično se redovita funkcija u Pythonu kreira pomoću def ključna riječ. Ima ime i zagrade. Dok se anonimna funkcija koristi s lambda ključna riječ. Stoga je anonimna funkcija poznata i kao lambda funkcija. Ovaj članak objašnjava Python lambda funkciju s primjerima.
Sintaksa lambda funkcije
Lambda funkcija može prihvatiti nekoliko argumenata i samo jedan izraz. Izraz izvodi posao, a rezultat se vraća. Sintaksa lambda funkcije je:
lambda argument (i): izrazVažno je zapamtiti da je lambda funkcija ograničena samo na jedan izraz. Lambda funkcija može se implementirati u Python skriptu kada trebamo stvoriti objekt funkcije. Primijenimo lambda funkciju u našu Python skriptu.
Primjer 1: Izračunajte zbroj brojeva pomoću lambda funkcije
Stvorimo lambda funkciju za izračunavanje brojeva. Lambda funkcija uzima dva broja kao argument i vraća rezultat.
# program za stvaranje lambda funkcije#kreiranje lambda funkcije
zbroj_val = lambda a, b: a + b
# prosljeđivanje argumenata i ispis vrijednosti zbroja
ispis (sum_val (5,10))
Izlaz
Izlaz prikazuje zbroj vrijednosti dva broja.
Definirajmo normalnu funkciju kako bismo razumjeli razliku između normalne i lambda funkcije.
#stvaranje normalne funkcijedef sum_val (a, b):
vrati a + b
# prosljeđivanje argumenata i ispis vrijednosti zbroja
print ("Vrijednost zbroja je:", sum_val (5,10))
Izlaz
Obje funkcije vraćaju istu vrijednost kada se predaju slični argumenti. U normalnoj funkciji koristimo def ključna riječ i treba napisati naziv funkcije. Nakon izraza zbroja, stavimo return izraz na kraj da vratimo vrijednost rezultata. Dok je u funkciji lambda, naredba return nije uključena. Vraća izlaznu vrijednost nakon procjene ili izvršavanja izraza.
Primjer 2: Implementacija više lambda funkcija
Provedimo lambda funkcije s različitim brojem argumenata.
#a program za implementaciju mnogih lambda funkcija#a lambda funkcija za oduzimanje broja
a = lambda a, b, c: a-b-c
#propuštanje argumenata i ispis vrijednosti razlike
print ("Vrijednost oduzimanja je:", a (200,10,2))
#a lambda funkcija za množenje dva broja
b = lambda a, b: a * b
#propuštanje argumenata i ispis vrijednosti razlike
print ("Vrijednost množenja je:", b (10,5))
#a lambda funkcija za izračunavanje kvadratne vrijednosti
c = lambda a: a * a
#propuštanje argumenata i ispis vrijednosti razlike
print ("Kvadratna vrijednost je:", c (10))
#a lambda funkcija za izračunavanje vrijednosti kocke
c = lambda a: a * a * a
#propuštanje argumenata i ispis vrijednosti razlike
print ("Vrijednost kocke je:", c (10))
#a lambda funkcija za određivanje parnog broja
c = lambda a: (a% 2 == 0)
#propuštanje argumenata i ispis vrijednosti razlike
print ("Dati broj je paran:", c (1001))
#a lambda funkcija za određivanje prijestupne godine
c = lambda a: (a% 4 == 0)
#propuštanje argumenata i ispis vrijednosti razlike
print ("Data je godina prijestupna:", c (2020))
Izlaz
Prikazuje se izlaz različitih lambda funkcija.
Lambda funkcija također vraća logičku funkciju kada smo uvjet u izrazu.
Korištenje lambda funkcije unutar normalne funkcije
Lambda funkcija može se implementirati unutar normalne ili redovite Python funkcije. Funkcija sum_val uzima broj kao argument i vraća lambda funkciju. Pohranjen je u varijablu s imenom vrijednost. Drugi se argument prenosi lambda funkciji i vraća vrijednost zbroja.
#a program za implementaciju lambda funkcije unutar normalne funkcije#deklariranje normalne funkcije
def sum_val (num1):
#deklariranje lambda funkcije unutar funkcije
vrati lambda num2: num1 + num2
vrijednost = zbroj_val (10)
print ("Vrijednost zbroja je:", vrijednost (200))
Izlaz
Zaključak
Anonimni u Pythonu naziva se lambda funkcija. Anonimna funkcija stvara se kada moramo koristiti objekt funkcije. Ovaj članak objašnjava lambda funkciju kroz primjere.