Skip to content

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

python
lambda argumentlar : ifoda

Ifoda bajariladi va natija qaytariladi:

Misol

a argumentiga 10 qo'shib, natijani qaytarish:

python
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:

python
x = lambda a, b : a * b
print(x(5, 6))

Misol

a, b va c argumentlarini yig'ib, natijani qaytarish:

python
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:

python
def mening_funksiyam(n):
    return lambda a : a * n

Ushbu funksiya ta'rifidan foydalanib, yuborgan raqamingizni har doim ikki barobar qiladigan funksiya yarating:

Misol

python
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

python
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

python
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.