Python Lambda
lambda လုပ်ဆောင်ချက်သည် အမည်မသိလုပ်ဆောင်ချက်ငယ်တစ်ခုဖြစ်သည်။
lambda လုပ်ဆောင်ချက်သည် အကြောင်းပြချက်များစွာကို ယူဆောင်နိုင်သော်လည်း စကားရပ်တစ်ခုသာ ရှိနိုင်သည်။
အထားအသို
lambda arguments : expression
စကားရပ်ကို လုပ်ဆောင်ပြီး ရလဒ်ကို ပြန်ပေးသည်-
ဥပမာ
အငြင်းအခုံ a
တွင် 10 ကို ပေါင်းထည့်ကာ ရလဒ်ကို ပြန်ပေးသည်-
x = lambda a : a + 10
print(x(5))
Lambda လုပ်ဆောင်ချက်များသည် အကြောင်းပြချက်များစွာကို ရယူနိုင်သည်။
ဥပမာ
အငြင်းအခုံ a
ကို အကြောင်းပြချက်ဖြင့်
မြှောက် b
ပြီး ရလဒ်ကို ပြန်ပေးသည်-
x = lambda a, b : a * b
print(x(5, 6))
ဥပမာ
a
အကြောင်းပြချက် ကို
အကျဉ်းချုံ့ b
ပြီး c
ရလဒ်ကို ပြန်ပေးသည်-
x = lambda a, b, c : a + b + c
print(x(5, 6,
2))
Lambda Functions ကို ဘာကြောင့် သုံးတာလဲ။
အခြားလုပ်ဆောင်ချက်တစ်ခုအတွင်း ၎င်းတို့ကို အမည်မသိလုပ်ဆောင်မှုအဖြစ် သင်အသုံးပြုသောအခါတွင် lambda ၏ ပါဝါကို ပြသနိုင်မည်ဖြစ်သည်။
သင့်တွင် အငြင်းအခုံတစ်ခုယူရမည့် လုပ်ဆောင်ချက် အဓိပ္ပါယ်ဖွင့်ဆိုချက်တစ်ခုရှိပြီး ၎င်းအငြင်းအခုံကို အမည်မသိနံပါတ်တစ်ခုဖြင့် မြှောက်ပေးမည်-
def myfunc(n):
return lambda a : a * n
သင်ပေးပို့သော အရေအတွက်ကို အမြဲတမ်း နှစ်ဆတိုးစေသော လုပ်ဆောင်ချက်တစ်ခု ပြုလုပ်ရန် အဆိုပါ လုပ်ဆောင်ချက် အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကို အသုံးပြုပါ-
ဥပမာ
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
print(mydoubler(11))
သို့မဟုတ်၊ သင်ပေးပို့သော နံပါတ်ကို အမြဲ သုံးဆ တိုး စေသော လုပ်ဆောင်ချက်တစ်ခုပြုလုပ်ရန် တူညီသောလုပ်ဆောင်ချက် အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကို အသုံးပြု ပါ-
ဥပမာ
def myfunc(n):
return lambda a : a * n
mytripler = myfunc(3)
print(mytripler(11))
သို့မဟုတ် တူညီသောပရိုဂရမ်တွင် လုပ်ဆောင်ချက်နှစ်ခုလုံးပြုလုပ်ရန် တူညီသောလုပ်ဆောင်ချက် အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကို အသုံးပြုပါ-
ဥပမာ
def myfunc(n):
return lambda a : a * n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydoubler(11))
print(mytripler(11))
အချိန်တိုအတွင်း အမည်မသိလုပ်ဆောင်ချက်တစ်ခု လိုအပ်သည့်အခါ lambda လုပ်ဆောင်ချက်များကို အသုံးပြုပါ။