Python တွင် Callback Functions
Python တွင် function များကို အခြားလုပ်ဆောင်ချက်များ၏ parameter များအဖြစ် ပေးပို့နိုင်သော အစွမ်းသတ္တိရှိပါသည်။ ဤသို့ဖြင့် ပေးပို့သော လုပ်ဆောင်ချက်များသည် variable များကဲ့သို့ (ကွင်းဝိုင်းများမပါဘဲ) ပေးပို့ပြီး callback များဟု ခေါ်ဝေါ်ကြသည်။ ထိုသို့သော callback လုပ်ဆောင်ချက်များသည် ပင်မလုပ်ဆောင်ချက်၏ ခန္ဓာကိုယ်အတွင်း၌ လုပ်ဆောင်သွားမည်ဖြစ်သည်။
ကျွန်ုပ်တို့တွင် test ဟုခေါ်သော function တစ်ခုရှိသည်ဆိုပါစို့၊
ထို function သည် number တစ်ခုနှင့်
လုပ်ဆောင်ချက်တစ်ခုကို parameter အဖြစ်လက်ခံသည်။
pythondef test(num, func):
pass
ယခု ကျွန်ုပ်တို့ func ဟုခေါ်သော function တစ်ခုကို ဖန်တီးကြပါစို့၊
ထို function သည် ဂဏန်းတစ်ခုကို နှစ်ထပ်ကိန်းသို့ တင်ပေးမည်ဖြစ်သည်။
pythondef func(num):
return num ** 2
ယခု test ဆီသို့ ပြန်သွားပြီး
၎င်း၏ ခန္ဓာကိုယ်အတွင်း ကုဒ်ကို ရေးသားလိုက်ပါမည်၊ သို့မှသာ parameter အဖြစ်ပေးပို့ထားသော callback function ကလည်း parameter အနေဖြင့် ဂဏန်းတစ်ခုကို လက်ခံနိုင်မည်။
ရလဒ်အနေဖြင့် test ၏ ရလဒ်သည် အခြားလုပ်ဆောင်ချက်တစ်ခု၏ လုပ်ဆောင်မှုဖြစ်လာမည်၊ ၎င်းအတွက် ဂဏန်းကို test ၏ ပထမ parameter မှ ယူမည်ဖြစ်သည်။
pythondef test(num, func):
print(func(num))
ထို့နောက် test function ကို ခေါ်ယူပြီး
၎င်းအတွက် ပထမ parameter အဖြစ် 3၊
ဒုတိယ parameter အဖြစ် - func ကို ပေးပို့ပါ။
pythontest(3, func) # ရလဒ်အဖြစ် 9 ကိုပြသမည်
အောက်ပါကုဒ်ကို လုပ်ဆောင်ပါက ရလဒ်မှာ မည်သို့ဖြစ်မည်နည်း။
pythondef get_Info(txt, func):
print(func(txt))
def func(name):
return 'user name is ' + name
get_Info('john', func)