Skip to content

Lambda - nomsiz funksiya

Kirish

Lambda funksiyasi nomsiz deyilishiga asosiy sabab lambdadan foydalanish uchun uni biror nom bilan oldindan e'lon qilish shart emas.

'Lambda' quyidagi tuzilishga ega:

lambda args:amal

Lambdaga istalgancha qiymat berish mumkin lekin natija bitta amal bo'ladi. returnni qo'yish shart emas lambda o'zi qiymatni qaytaradi.

Keling soddaroq misol bilan tushinishga harakat qilamiz. Ayatylik bizga a va b sonlarini bir-biriga qo'shish kerak bo'ldi shu mislni lambda bilan yechib ko'ramiz.

1-misol

yigindi = lambda a, b: a + b
print(yigindi(5, 4))

Natija:

9

Agar 3 ta sonni qo'shmoqchi bo'lsakchi?

2-misol

yigindi = lambda a, b, c: a + b + c
print(yigindi(5, 4, 1))

Natija:

10

Nima uchun lambdadan foydalanishiz kerak?

Lambdaning kuchli tomonlaridan biri uni boshqa funksiyalar ichida yoki birga foydalanish qulayligida.

3-misol

def daraja(n):
    return lambda a: a ** n

daraja1 = daraja(5) # daraja funkisyasi bizga lambda funksiyasini qaytardi. Endi daraja1 bu funksiayaga teng
print(daraja1(1)) # daraja1 bu daraja funksiyasi qaytargan lambda funksiyasi. 
                  # Shu sabab daraja1 ham qiymat qabul qiladi, qabul qilingan qiymat lambdaga uzatiladi.
print(daraja1(2))
print(daraja1(3))

Natija:

1
32
243