Python-Kind (ch 4.6)

Defining functionsဆိုတာ
functionsတွေ တည်ဆောက်ရတာပါ။

Function ဆိုတာဘာလဲ?
Functions ဆိုတာအပိုင်းတွေခွဲထုတ်လိုက်တဲ့ သဘောပါပဲ။ထပ်ခါတလဲလဲလုပ်ရမယ့် အလုပ်များကို အပိုင်းခွဲရေးထားပြီး လိုအပ်တဲ့အချိန်မှာ အလွယ်တကူပြန်သုံးနိုင်ဖို့ပါ။

Programming languagesတွေမှာ functionsတည်ဆောက်တာတွေက အတူတူပဲ ဖြစ်တယ်။
Defining functionsမှာ built-in နဲ့ user-defined ဆိုပြီး ၂မျိုးရှိတယ်။ Built-in functionsဆိုတာ ရှိပြီးသား libraries တွေကို အသုံးပြုတာဖြစ်ပြီး User-definedမှာဆိုရင် လိုအပ်တဲ့ functionsများကို developers ကိုယ်တိုင်ကရေးပေးရမယ်။
တစ်ကြိမ်ရေးပေးရုံနဲ့ ထပ်ခါထပ်ခါသုံးလို့ရလို့ အဆင်ပြေမယ်။

Python မှာ function တစ်ခုကို သတ်မှတ်မယ်ဆိုရင် "def" ဆိုတဲ့ keyword ကို သုံးရပါမယ်
keyword (def) ရဲ့နောက်မှာ nameနဲ့ parentheses ( () ) လိုက်ရမယ်။
parenthesesမှာ input parameters or arguments တွေထားလို့ရမယ်။
functionsတွေတိုင်းမှာ colon(:)နဲ့ စပြီးရေးသားပေးရမယ်။
Eg.1 input parametersနဲ့ printထုတ်ပြမယ်ဆိုရင်

>>>def printme( str ):
print (str)
return
>>>printme("Hello World") #write
Hello World #result

printmeဆိုတဲ့ functionထဲမှာ str (parameter)ကိုထည့်ပြီးကြေညာထားတာပါ။print(str) ပါမှ strကို ထုတ်ပြပေးမှာပါ။returnဆိုတာ function ပြီးကြောင်း value တခုကို ထုတ်ပြဖို့အတွက် သုံးပါတယ်။

Eg.2 Print Fibonacci series

>>>def fib(n):
a,b=0,1
while a>>fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597

fibonacciကတော့ လူတိုင်းရင်းနှီးပြီးသားဖြစ်မှာပါ။ပထမကိန်းနဲ့ ဒုတိယကိန်းပေါင်းပြီး နောက်ကိန်းသတ်မှတ်တာပါ။
fibဆိုတဲ့ functionထဲမှာ n ဆိုတဲ့ parameterလေးသတ်မှတ်ထားပါတယ်။ a,b=0,1 ဒီသတ်မှတ်ချက်လေးကို နားလည်ဖို့လိုပါမယ်။
a=0 နဲ့ b=1ဆိုပြီး တန်ဖိုးသတ်မှတ်ပေးလိုက်တာပါ။
print(a, end=' ') value aကို ထုတ်ပြပြီးတိုင်း spaceခြားဖို့ သုံးထားတာပါ။
a,b=b,a+b ကတော့ a,b=0,1နဲ့ အတူတူပါပဲ။

Eg.3 Return Fibonacci series(list)

>>>def fib2(n):
result=[]
a,b=0,1
while a>>fib2(100)
[0,1,1,2,3,5,8,13,21,34,55,89]

fibonacci အတွက် functionပါပဲ။ဒီတခုက listနဲ့ထုတ်ပြတာပါ။listကို [] နဲ့ကြေညာပါတယ်။result ဆိုတဲ့ listကိုကြေညာတာပါ။ .append() ဆိုတဲ့ functionလေးက ရှိပြီးသား valueတေကို မပျောက်စေပဲ ထပ်ထည့်တာပါ။
result.append(a) ကြေညာလိုက်တဲ့အတွက် result listထဲကို value a ရောက်သွားမှာပါ။
list ကို returnပြန်တဲ့အတွက် []နဲ့ resultပြသွားတာပါ။
Sign In or Register to comment.