Python - Lambda
Lambda Funksiyasi
Lambda funksiyasi kichik nomsiz funksiyadir.
Lambda funksiyasi har qanday miqdordagi argumentlarni qabul qila oladi, lekin faqat bitta ifodaga ega bo'lishi mumkin.
Sintaksis
lambda argumentlar : ifodaIfoda bajariladi va natija qaytariladi:
Misol
a argumentiga 10 qo'shib, natijani qaytarish:
x = lambda a : a + 10
print(x(5))Lambda funksiyalari har qanday miqdordagi argumentlarni qabul qila oladi:
Misol
a argumentini b argumentiga ko'paytirib, natijani qaytarish:
x = lambda a, b : a * b
print(x(5, 6))Misol
a, b va c argumentlarini yig'ib, natijani qaytarish:
x = lambda a, b, c : a + b + c
print(x(5, 6, 2))Nima Uchun Lambda Funksiyalaridan Foydalanish Kerak?
Lambdaning kuchi ularni boshqa funksiya ichida nomsiz funksiya sifatida ishlatganingizda yaxshiroq namoyon bo'ladi.
Diyelimki, sizda bitta argument qabul qiladigan funksiya ta'rifi bor va bu argument noma'lum raqam bilan ko'paytiriladi:
def mening_funksiyam(n):
return lambda a : a * nUshbu funksiya ta'rifidan foydalanib, yuborgan raqamingizni har doim ikki barobar qiladigan funksiya yarating:
Misol
def mening_funksiyam(n):
return lambda a : a * n
ikki_barobari = mening_funksiyam(2)
print(ikki_barobari(11))Yoki, xuddi shu funksiya ta'rifidan foydalanib, yuborgan raqamingizni har doim uch barobar qiladigan funksiya yarating:
Misol
def mening_funksiyam(n):
return lambda a : a * n
uch_barobari = mening_funksiyam(3)
print(uch_barobari(11))Yoki, xuddi shu funksiya ta'rifidan foydalanib, ikkala funksiyani ham bitta dasturda yarating:
Misol
def mening_funksiyam(n):
return lambda a : a * n
ikki_barobari = mening_funksiyam(2)
uch_barobari = mening_funksiyam(3)
print(ikki_barobari(11))
print(uch_barobari(11))Eslatma
Lambda funksiyalaridan qisqa vaqt ichida nomsiz funksiya talab qilinganda foydalaning.
