functions များ
ယခုအချိန်အထိ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ကုဒ်အားလုံးကို app.py တွင် ရေးသားနေကြပြီဖြစ်သော်လည်း ကျွန်ုပ်တို့၏ပရိုဂရမ်များ ကြီးထွားလာသည်နှင့်အမျှ ကျွန်ုပ်တို့၏ကုဒ်ကို စုစည်းရန် ပိုမိုကောင်းမွန်သောနည်းလမ်းတစ်ခု လိုအပ်ပါသည်။ ကျွန်ုပ်တို့၏ကုဒ်ကို သေးငယ်သော၊ ပိုမိုစီမံခန့်ခွဲနိုင်သော၊ ပိုမိုထိန်းသိမ်းနိုင်သော အကွက်များအဖြစ် ကျွန်ုပ်တို့ ခွဲခြမ်းရန် လိုအပ်ပါသည်။ လုပ်ဆောင်ချက်သည် သီးခြားလုပ်ငန်းတစ်ခုကို လုပ်ဆောင်သည့် ကုဒ်လိုင်းအနည်းငယ်အတွက် ကွန်တိန်နာတစ်ခုဖြစ်သည်။
ဥပမာအားဖြင့်၊ သင်သည် Python တွင် built-in လုပ်ဆောင်ချက်အချို့အကြောင်း လေ့လာထားပြီးဖြစ်သည်။ print()
နှင့် input()
. လုပ်ဆောင်မှုတစ်ခုစီတွင် ရည်ရွယ်ချက်တစ်ခုရှိပြီး သီးခြားလုပ်ငန်းတစ်ခုကို မည်သို့လုပ်ဆောင်ရမည်ကို သိရှိသည်။ ထို့ကြောင့်၊ ကျွန်ုပ်တို့သည် ကြီးမားရှုပ်ထွေးသော ပရိုဂရမ်များကို တည်ဆောက်သောအခါ၊ ကျွန်ုပ်တို့၏ကုဒ်ကို သေးငယ်သော ပြန်သုံးနိုင်သော အတုံးများအဖြစ် ခွဲထုတ်သင့်သည်။
နှုတ်ခွန်းဆက်စာ ပုံနှိပ်ခြင်းအတွက် ပရိုဂရမ်တစ်ခုကို တည်ဆောက်ခြင်းဖြင့် ဤသဘောတရားကို နားလည်ကြပါစို့။
print('Hi there!')
print('Welcome aboard!')
ဤနေရာတွင် ကုဒ်မျဉ်းနှစ်ကြောင်းသာရှိသော ရိုးရှင်းသော ပရိုဂရမ်တစ်ခုရှိသည်။ ယခု၊ ကျွန်ုပ်တို့သည် ၎င်းတို့ကို ပြန်လည်အသုံးပြုနိုင်သည့် လုပ်ဆောင်ချက်တစ်ခုတွင် ထည့်သွင်းရန် အခြားပရိုဂရမ်များတွင် ၎င်းတို့ကို လိုအပ်မည်ဖြစ်ကြောင်း ဆိုကြပါစို့။
သီးသန့်သော့ချက်စာလုံးတစ်လုံးနဲ့ မိတ်ဆက်ပေးပါရစေ def
Python တွင် define အတိုကောက်ဖြစ်ပြီး function တစ်ခုကို သတ်မှတ်ရန်အတွက် အသုံးပြုသည်။
def greet_user():
print('Hi there!')
print('Welcome aboard!')
ယခု ဤကုဒ်တုံးသည် လုပ်ဆောင်ချက်တစ်ခုကို သတ်မှတ်ပေးလိမ့်မည်”greet_user
"ထို့နောက် ကုဒ်လိုင်းများဖြင့် ဤလုပ်ဆောင်ချက်ကို ခေါ်သည့်အခါတိုင်း၊ ဤစာကြောင်းနှစ်ကြောင်းကို လုပ်ဆောင်ပါမည်။ ဒါကို သုံးကြည့်ရအောင်။
print('start')
greet_user()
print('finish')
ပရိုဂရမ်ကို ဆက်တိုက်လုပ်ဆောင်သည် ဆိုသည်မှာ ပရိုဂရမ်တွင် ၎င်းကို မခေါ်ဆိုမီ လုပ်ဆောင်ချက်တစ်ခုကို သတ်မှတ်ရန် လိုအပ်သည်။
parameters
သတ်မှတ်ထားသောလုပ်ဆောင်ချက်များသည် Python ၏ built-in လုပ်ဆောင်ချက်များထက် အနည်းငယ်ကွာခြားပါသည်။ ဥပမာအားဖြင့် ဦးသန့် print()
လုပ်ဆောင်ချက်တစ်ခု၊ ကျွန်ုပ်တို့ print ထုတ်လိုသော အချက်အလက်အချို့ကို ယူသော်လည်း၊ ကျွန်ုပ်တို့၏နှုတ်ဆက်ခြင်းလုပ်ဆောင်ချက်သည် မည်သည့်အချက်အလက်ကိုမှ ယူဆောင်သွားခြင်းမရှိပေ။ ဤနေရာတွင် အသုံးပြုသူ၏အမည်ကို ကျော်ဖြတ်ပြီးနောက် “hi there” ဟုပြောမည့်အစား၊ အသုံးပြုသူ၏အမည်ကို ပရင့်ထုတ်နိုင်လျှင် ပိုကောင်းမည်မဟုတ်ပါလား။
သတ်မှတ်ထားသော လုပ်ဆောင်ချက်၏ ကွင်းစဥ်အတွင်း ဘောင်များကို ပေါင်းထည့်ခြင်းဖြင့် ၎င်းကို သင်ပြုလုပ်နိုင်သည်။ ငါ မင်းကို ပြပါရစေ-
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
ယခု "name
” ကွင်းပိတ်အတွင်းတွင် local variable တစ်ခုကဲ့သို့ လုပ်ဆောင်မည်ဖြစ်ပြီး ၎င်းကိုခေါ်ဆိုသည့်အခါ အသုံးပြုသူ၏အမည်ကို ပေးပို့နိုင်ပါသည်။
greet_user('Shahbaz')
ယခုအခါ အမည်သတ်မှတ်ချက်ကို “Shahbaz
” အသုံးတည့်အောင် ပရိုဂရမ်ကို ပြောင်းကြည့်ရအောင်။
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
အရေးကြီးသောအချက်မှာ ပထမစာကြောင်းရှိ "name" ကို Parameter ဟုခေါ်ပြီး Shahbaz မှပေးသောအမည်ကို argument ဟုခေါ်ပါသည်။
ဒီပရိုဂရမ်ကို ဆက်လုပ်ကြရအောင်။
ထို့ကြောင့် ဤကန့်သတ်ချက်များဖြင့် ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏လုပ်ငန်းဆောင်တာများတွင် အချက်အလက်များကို လက်ခံရရှိနိုင်ပါသည်။
ကဲ စိတ်ဝင်စားစရာ တစ်ခုခု လုပ်ကြည့်ရအောင်။ နှုတ်ခွန်းဆက်စာတွင် အခြားအမည်ကို ထည့်လိုသည်ဟု ဆိုကြပါစို့။ ရိုးရှင်းပါတယ်။
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
function တစ်ခုတွင် parameter တစ်ခုရှိသောအခါ၊ ထို parameter အတွက်တန်ဖိုးတစ်ခုကိုကျွန်ုပ်တို့ဖြတ်သန်းရန်တာဝန်ရှိသည်ကိုသတိပြုပါ။ အကယ်၍ သင်သည် လုပ်ဆောင်ချက်မှ အမည်ကို ဖယ်ရှားပြီး ပရိုဂရမ်ကို လုပ်ဆောင်ပါက ကျွန်ုပ်တို့ အမှားအယွင်းတစ်ခု ရရှိမည်ဖြစ်သည်။ ကော်မာဖြင့် ပိုင်းခြားထားသော လုပ်ဆောင်ချက်တစ်ခုတည်းတွင် ဘောင်များစွာကို သင်အသုံးပြုနိုင်သည်။
ဥပမာ, greet_user(first_name, last_name):
. အကြောင်းပြချက်များကိုလည်း အလားတူ ဖော်မတ်လုပ်ပါမည်။
သော့ချက်စကားလုံး အငြင်းပွားမှုများ
ကျွန်ုပ်တို့၏လုပ်ငန်းဆောင်တာများအတွက် ကန့်သတ်ချက်များကို သတ်မှတ်သည့်အခါတိုင်း ကျွန်ုပ်တို့သည် တန်ဖိုးများကို အမြဲပေးသင့်သည်မဟုတ်ပါက ကျွန်ုပ်တို့သည် error ရရှိလိမ့်မည်ဖြစ်ကြောင်း ယခုအချိန်အထိ ကျွန်ုပ်တို့ သိရှိထားပါသည်။ နောက်ဆုံးပရိုဂရမ်တွင် ငြင်းခုံမှုများ၊ 'Shahbaz'
နှင့် 'Bhatti'
ပရိုဂရမ်အတွင်းရှိ ၎င်းတို့၏ ရာထူး သို့မဟုတ် အမိန့်စာများကို ရာထူးဆိုင်ရာ ငြင်းခုံမှုများဟု ခေါ်သည်။
Python တွင်၊ တည်နေရာသည် အရေးမကြီးသော အဓိကစကားလုံးအငြင်းအခုံများဟုခေါ်သော အခြားအငြင်းအခုံတစ်မျိုးရှိသည်။ သူတို့ ဘယ်လိုအလုပ်လုပ်တယ်ဆိုတာ ပြပါရစေ။
နောက်ဆုံးအစီအစဉ်ကိုကြည့်ပါ။ ကျွန်ုပ်တို့ ၎င်းကို ဤကဲ့သို့ ပြင်ဆင်နိုင်သည်-
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
အခုတော့ first_name
နှင့် last_name
သော့ချက်စာလုံးဘောင်များဖြစ်သည်။ သူတို့ရဲ့နေရာတွေကို သင်ပြောင်းနိုင်ပြီး ရလဒ်က အတူတူပါပဲ။
ယခု ကျွန်ုပ်တို့သည် အဓိကစကားလုံးအငြင်းအခုံများကို အမြဲသုံးသင့်သည်ဟု မဆိုလိုပါ။ အချိန်အများစုတွင် ကျွန်ုပ်တို့သည် positional arguments များကိုအသုံးပြုသော်လည်း အချို့သောအခြေအနေများတွင်၊ ဤသော့ချက်စကားလုံးဆင်ခြေများသည် ကျွန်ုပ်တို့၏ကုဒ်၏ဖတ်နိုင်မှုကိုတိုးတက်စေရန်ကူညီပေးပါသည်။
သော့ချက်စကားလုံးအငြင်းအခုံများအကြောင်း သင်သိထားရမည့် နောက်ထပ်အချက်တစ်ခုရှိသေးသည်။ သော့ချက်စကားလုံး အငြင်းအခုံများသည် အနေအထားဆိုင်ရာ အကြောင်းပြချက်များနောက်တွင် အမြဲလာသင့်သည်။
ထုတ်ပြန်ချက်
ယခုအချိန်အထိ ကျွန်ုပ်တို့သည် လုပ်ဆောင်ချက်များကို ဖန်တီးနည်းနှင့် ၎င်းတို့၏ ကန့်သတ်ဘောင်များကို အသုံးပြု၍ ၎င်းတို့အား သတင်းအချက်အလက်များ ပေးပို့ရမည်ကို သင်ယူခဲ့ပြီးဖြစ်သည်။ အခု တန်ဖိုးတွေကို ပြန်ပေးမယ့် လုပ်ဆောင်ချက်တွေကို ဘယ်လိုဖန်တီးရမလဲဆိုတာ လေ့လာကြည့်ရအောင်။ သင်သည် တွက်ချက်မှုအချို့ကို လုပ်ဆောင်နေပြီး သင့်လုပ်ဆောင်ချက်ကို အသုံးပြုနေသူတိုင်းထံ ရလဒ်ကို ပြန်ပေးလိုပါက ၎င်းသည် အထူးအသုံးဝင်သည်။ ပြပါရစေ။
ကိန်းတစ်ခု၏ နှစ်ထပ်ကိန်းကို တွက်ချက်မည့် လုပ်ဆောင်ချက်တစ်ခုကို သတ်မှတ်ကြပါစို့။
def square(number):
return number*number
ဤနံပါတ်ကို function ၏အပြင်ဘက်သို့ပြန်ရန် return statement ကိုအသုံးပြုထားပါသည်။ ယခု ဤလုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့ခေါ်ဆိုပါက ၎င်းသည် ၎င်းကဲ့သို့ တန်ဖိုးတစ်ခုကို ပြန်ပေးသည်။ input()
လုပ်ဆောင်ချက်။ terminal တွင် print ထုတ်ကြပါစို့။
return statement ကို အသုံးမပြုဘဲ တူညီသောရလဒ်ကို ရရှိနိုင်ကြောင်း စောဒကတက်နိုင်ပါသည်။ အဲဒါကို စစ်ဆေးကြည့်ရအောင်။
နံပါတ် 9 နဲ့ တစ်ခုမှ နှစ်ခုတွေ့တယ်။ ဒီမှာ ဘာဖြစ်နေတာလဲ။
Python စကားပြန်သည် ဤကုဒ်ကိုလုပ်ဆောင်သောအခါ၊ ပထမဦးစွာ ၎င်းသည် square function ကိုခေါ်မည်ဖြစ်ပြီး ထိန်းချုပ်မှုလုပ်ဆောင်ချက်သို့ ရွေ့သွားမည်ဖြစ်သည်။ ဤနေရာတွင် ကျွန်ုပ်တို့သည် ဤပေးထားသောနံပါတ်၏ နှစ်ထပ်ကိန်းကို တွက်ချက်ပြီးနောက် ၎င်းကို terminal တွင် ပရင့်ထုတ်ပါ။
ယခု၊ ပုံမှန်အားဖြင့်၊ လုပ်ဆောင်ချက်များအားလုံးသည် တန်ဖိုးမရှိသည်ကို ပြန်ပေးသည်။ ထို့ကြောင့် ဤနေရာတွင် return statement မရှိပါက၊ default အနေဖြင့် Python သည် မည်သည့်အရာကိုမျှ ပြန်ပေးမည်မဟုတ်ပါ။ None သည် တန်ဖိုးမရှိခြင်းကို ကိုယ်စားပြုသည့် အရာတစ်ခုဖြစ်သည်။ ၎င်းသည် C၊ C++၊ Java နှင့် Javascript တို့တွင် ဘာမှမပါ သို့မဟုတ် null နှင့်တူသည်။
အပြီးသတ်သည်!
လုပ်ဆောင်ချက်တွေရဲ့ အရေးပါပုံကို သင်နားလည်မယ်လို့ မျှော်လင့်ပါတယ်။
သင်၏ coding အသက်မွေးဝမ်းကျောင်းအတွင်း ကြီးမားပြီး ရှုပ်ထွေးသော ပရိုဂရမ်များကို ရေးသားရန် စီစဉ်နေပါက ၎င်းတို့သည် Python သင်ယူခြင်း၏ အရေးပါသော ကဏ္ဍတစ်ခုဖြစ်သည်။
တစ်ဦးစာပြန်ရန် Leave