Functions (လုပ်ဆောင်ချက်များ)
Function ဆိုတာ ဘာလဲ?
Section titled “Function ဆိုတာ ဘာလဲ?”Function ဆိုတာ Code တွေကို အစုလိုက်လေး ဖွဲ့ထားတာပါ။ လိုအပ်တဲ့အခါတိုင်း နာမည်ခေါ်ပြီး ပြန်သုံးလို့ ရပါတယ်။ “ဟင်းချက်နည်း (Recipe)” တစ်ခုလိုပါပဲ။ ဟင်းချက်နည်းကို တစ်ခါရေးထားရင်၊ လိုချင်တဲ့အချိန်တိုင်း အဲ့ဒီနည်းအတိုင်း ချက်လို့ရသလိုပေါ့။
ဘာလို့ Function တွေကို သုံးရတာလဲ ဆိုရင် DRY (Don’t Repeat Yourself) ဆိုတဲ့ စည်းမျဉ်းကြောင့်ပါ။ Code တွေကို ထပ်ခါထပ်ခါ ရေးမယ့်အစား၊ Function တစ်ခုထဲ ထည့်ထားပြီး လိုတဲ့အခါ လှမ်းခေါ်သုံးလိုက်တာက ပိုပြီး ရှင်းလင်းသပ်ရပ်စေပါတယ်။
Function ဘယ်လို တည်ဆောက်မလဲ?
Section titled “Function ဘယ်လို တည်ဆောက်မလဲ?”Python မှာ Function ကို def (define) ဆိုတဲ့ Keyword နဲ့ စပါတယ်။
# Function တည်ဆောက်ခြင်းdef say_hello(): print("မင်္ဂလာပါ။") print("Python Course မှ ကြိုဆိုပါတယ်။")
# Function ကို ခေါ်သုံးခြင်း (Call လုပ်ခြင်း)say_hello()say_hello() # ကြိုက်သလောက် ခေါ်သုံးလို့ ရပါတယ်Parameters နှင့် Arguments (ဒေတာများ ထည့်ပေးခြင်း)
Section titled “Parameters နှင့် Arguments (ဒေတာများ ထည့်ပေးခြင်း)”Function ထဲကို အပြင်ကနေ Data တွေ ထည့်ပေးလို့ ရပါတယ်။ အဲ့ဒါကို Parameters လို့ ခေါ်ပါတယ်။
# name ဆိုတာ Parameter ပါdef greet(name): print(f"မင်္ဂလာပါ {name}")
# "Aung Aung" ဆိုတာ Argument ပါgreet("Aung Aung")greet("Su Su")Default Parameters (ပုံသေ တန်ဖိုးများ)
Section titled “Default Parameters (ပုံသေ တန်ဖိုးများ)”တစ်ခါတလေ User က Data မထည့်ပေးခဲ့ရင် သုံးဖို့အတွက် ပုံသေတန်ဖိုး (Default) သတ်မှတ်ထားလို့ ရပါတယ်။
def order_coffee(type="ရိုးရိုး ကော်ဖီ"): print(f"သင့်ရဲ့ {type} ရပါပြီ။")
order_coffee("Latte") # သင့်ရဲ့ Latte ရပါပြီ။order_coffee() # သင့်ရဲ့ ရိုးရိုး ကော်ဖီ ရပါပြီ။ (ဘာမှ မထည့်ရင် Default ကို သုံးသွားပါတယ်)Return (အဖြေ ပြန်ပေးခြင်း)
Section titled “Return (အဖြေ ပြန်ပေးခြင်း)”Function ကနေ အလုပ်လုပ်ပြီးသွားရင် အဖြေတစ်ခု ပြန်ပေးချင်တဲ့အခါ return ကို သုံးပါတယ်။ print နဲ့ return မတူပါဘူး။ print က Screen ပေါ်မှာ ပြပေးရုံသက်သက်ဖြစ်ပြီး၊ return ကတော့ အဲ့ဒီ အဖြေကို တခြားနေရာမှာ ဆက်သုံးလို့ရအောင် ပြန်ပေးတာပါ။
def add_numbers(a, b): result = a + b return result # အဖြေကို ပြန်ပေးလိုက်တယ်
# ပြန်ပေးလိုက်တဲ့ အဖြေကို total ဆိုတဲ့ Variable ထဲ ထည့်လိုက်တယ်total = add_numbers(5, 10)
# အဲ့ဒီ အဖြေကို ဆက်ပြီး အသုံးချလို့ ရပါတယ်print(f"စုစုပေါင်းကတော့ {total} ပါ။")print(f"နှစ်ဆ ဆိုရင်တော့ {total * 2} ပါ။")သတိပြုရန်: Function တစ်ခုထဲမှာ return ကို ရောက်သွားတာနဲ့ အဲ့ဒီ Function က ချက်ချင်း ရပ်သွားပါတယ်။ return ရဲ့ အောက်က Code တွေ ဆက်အလုပ်မလုပ်တော့ပါဘူး။
Variable Scope (Local vs Global)
Section titled “Variable Scope (Local vs Global)”Variable တွေကို ဘယ်နေရာမှာ ကြေညာသလဲ ဆိုတာ အရေးကြီးပါတယ်။
- Local Variable: Function အထဲမှာ ကြေညာထားတဲ့ Variable ပါ။ အဲ့ဒီ Function အပြင်ဘက်ကနေ လှမ်းခေါ်လို့ မရပါဘူး။
- Global Variable: Function အပြင်ဘက်မှာ ကြေညာထားတဲ့ Variable ပါ။ နေရာတိုင်းကနေ လှမ်းခေါ်လို့ ရပါတယ်။
global_var = "ကျွန်တော်က အပြင်မှာ ရှိပါတယ်"
def my_function(): local_var = "ကျွန်တော်က အထဲမှာ ရှိပါတယ်" print(global_var) # အပြင်က ကောင်ကို အထဲကနေ ခေါ်သုံးလို့ ရပါတယ် print(local_var)
my_function()
# print(local_var) # ဒါမျိုး လုပ်ရင် Error တက်ပါမယ်။ အထဲက ကောင်ကို အပြင်ကနေ ခေါ်လို့ မရပါဘူး။