Python Startup #1

by 08:43 0 comments


1.0 Before you start coding

Python စတင္မေလ့လာခင္လိုအပ္တာေတြေဒါင္းလုပ္ဆြဲရပါမယ္။ Windows ဆို python.org ကိသြားျပီး Python environment ေဒါင္းလုပ္ဆြဲပါ။ Python Startup tutorial တြင္ Python 2 ျဖင့္သာျပသြားမွာျဖစ္လို့ Python v2 ကိုေဒါင္းလုပ္ဆြဲေစခ်င္ပါတယ္။ Linux users ေတြဆိုရင္ေတာ့ terminal ကေန python ဆိုျပီးေခါ္လိုက္ရင္တက္လာပါလိမ့္မယ္။
Text Editor ကိုေတာ့ Sublime သို့မပာုတ္ Atom ကုိသံုးေစခ်င္ပါတယ္။
Requirement ကေတာ့ဒါေတြပါပဲ လိုအပ္တာေတြရွိျပီဆိုေရွ့ဆက္ရေအာင္....

1.1 Variables, expression and statements

Value ဆုိတာကေတာ့ program အလုပ္လုပ္ရာမွာပါ၀င္တဲ့ အေျခခံအရာေလးတစ္ခုပါပဲ။ ဥပမာ numbers (1, 2) ဒါမွမပာုတ္ letters (“Hello World”) ေပါ့ေလ။ ပာုတ္ျပီဗ် ဒါကကြ်န္ေတာ္တို ့ျခံဳၾကည့္တဲ့သေဘာေနာ္။ အခု Programming ေလ့လာေနတာဆိုေတာ့ဒါကိုနဲနဲထပ္ေျပာၾကည့္ရေအာင္။ ကြ်န္ေတာ္အခုေျပာလိုက္တဲ့ numbers နဲ ့ letters ေတြကတကယ္ေတာ့ မတူညီတဲ့အမ်ိဳးအစားေလးေတြပါပဲ။
Number ထဲမွာလဲအမ်ိဳးမ်ိဳးရွိပါေသးတယ္။ integers, floating point စသျဖင့္ေပါ့ခုနကေရးလုိက္တဲ့ 1, 2 တို ့ဆိုတာကေတာ့  integers (ျမန္မာလုိဆို ကိန္းျပည့္ေပါ့ေနာ္) ထားပါ E လိုသာမွတ္လိုက္ပိုရွင္းတယ္။ ေနာက္ double quotes ေလးနဲ ့ေရးထားတဲ့ဒီ “Hello World” ဆိုတာေလးကေတာ့ string ေပါ့။ Python မွာဘာ type မွန္းမသိရင္ interpreter ကိုေမးလို ့ရပါတယ္။ အရင္ဆံုး Python Prompt ေလးကိုဖြင့္လိုက္ပါ။ ျပီးရင္ ေအာက္ကလိုရို္က္ပါ။
 >>> type(‘Hello World!’)  
ဒါဆို interpreter ကဒီလိုေလးျပန္ေဖာ္ျပမွာပါ။ <type ‘str’> str ဆိုတာကေတာ့ string ကိုေျပာတာပါ။ ဒါဆိုေနာက္တစ္ခုစမ္းမယ္ဗ်ာ။
 >>> type(404)  
<type ‘int’> လို ့ျပမွာပါ။ int ဆိုတာကေတာ့ integer ပါ။ ေနာက္ဆို  4.04 ဆိုရင္ေကာ?
ဒါဆိုရင္ေတာ့ floating point ျဖစ္တဲ့ <type ‘float’> လို ့ေဖာ္ျပမွာျဖစ္ပါတယ္။ ေက်ာင္းမွာတံုးကေတာ့ floating point ကို ကြ်န္ေတာ္တို ့က decimal number လို ့ေျပာတာေပါ့ေလ တူတူပါပဲ။
ဒါဆိုေနာက္တစ္ခုထပ္ေရးမယ္ဗ်ာ။ ဒီလိုေလးပါ။
 >>> type('404')  
<type ‘str’> တိန္ဘာလို ့ string လို ့ျပန္တာလဲဗ်။ 404 ဆိုတာနံပတ္ၾကီးမပာုတ္ဘူးလား? 404 ဆိုတာေတာ့ number မွန္ပါတယ္။ ဒါေပသိသူ ့ကို single quote နဲ ့ပိတ္ထားပါတယ္။ (double quote အသံုးျပဳလဲရပါတယ္။) ဒီလိုေရးသားလို္က္ျခင္းပာာလဲ string တစ္ခုျဖစ္သြားေစပါတယ္။ ကြ်န္ေတာ္တို ့ေတြစာေရးရင္ digit ၃လံုးျပီးတိုင္း comma (,) ကုဒ္ၾကတယ္မလား။ ဒါပာာ Python မွာလုပ္လို ့မရပါဘူး။ ေရးလိုက္ရင္ Error ေတာ့မတက္ပါဘူး သို ့ေသာ္ ကိုယ္ေတြးထားသလိုျဖစ္မွာမပာုတ္ပါဘူး။
 >>> 1,000,000  
(1, 0, 0) လို ့ျပန္ေဖာ္ျပမွာျဖစ္ပါတယ္။ Python Interpreter က tuple တစ္ခုအျဖစ္ျပန္ေဖာ္ျပလိုက္ပါတယ္။
(You will learn the tuple later in this tutorial.)

1.2 Variables

Variables ေတြကိုေကာင္းေကာင္း manipulate ျပဳလုပ္ႏိုင္ျခင္းသည္လဲ programming language တစ္ခုအတြက္အားတစ္ခုပါပဲ။

 >>> message = ‘I am a message.’  
 >>> num = 17  
 >>> pi = 3.142  
ပထမစာေၾကာင္းမွာက message ဆိုတဲ့ new variable တစ္ခုစီကို string တစ္ခု assign လုပ္လိုက္ပါတယ္။ ဒုတိယစာေၾကာင္းကလဲထိုကဲ့သို ့ပါပဲ num ဆိုတဲ့ new variable ထဲကို integer value assign လုပ္လိုက္ပါတယ္။ pi ကေတာ့ floating point value ကို assign လုပ္လုိက္တာေပါ့ေလ။
ဒီက Bro ေတြကိုတစ္ခုစဥ္းစားခုိင္းမယ္ေနာ္ 
Python Interpreter မွာ ေအာက္ကလိုရိုက္ၾကည့္ပါ။
 >>> print 02132  
ဘာနံပတ္ထြက္လာလဲဆိုတာရိုက္ျပီးရင္ေတြ ့ရမွာပါ။ အဲ့တာဘာလို ့လဲဘာအတြက္အေၾကာင့္အခုလိုျဖစ္တယ္ဆိုတာကို PM ပို ့ျပီးေျဖၾကည့္ေစခ်င္ပါတယ္။
(Hint: try to print 01, 010, 0100, 01000)
အေျဖကိုေတာ့ဒုတိယပိုင္းၾကရင္ကြ်န္ေတာ္ေျပာျပေပးပါမယ္။ ဒီၾကားထဲမွာေတာ့ေျဖၾကည့္ေပးေစခ်င္ပါတယ္။

1.3 Variable names and keywords

Programmers တုိင္းကသူတို ့ရဲ့ Variable names ေတြကို ျပဳလုပ္မယ့္ function ဒါမွမပာုတ္သက္ဆိုင္ရာနာမည္မ်ိဳးေတြေပးတတ္ၾကပါတယ္။ Variable တစ္ခုရဲ့နာမည္တြင္ Letters ေကာ Numbers ေတြေကာပါ၀င္ႏိုင္ပါတယ္ ဒါေပသိမွတ္ထားရမွာေလးက Variables ေတြသည္ Letters ျဖင့္သာစေရးရမွာျဖစ္ပါတယ္, Number နဲ ့စလို ့မရပါဘူး။ Variable Name တစ္ခုရဲ့ Letter ကို Uppercase နဲ ့စေရးႏိုင္ေပမယ့္ပံုမွန္ဆိုရင္ေတာ့ lowercase နဲ ့စတာအသင့္ေတာ္ဆံုးပါပဲ။
ေနာက္ name ထဲမွာ underscore character ( _ ) ေတြပါ၀င္ႏိုင္ပါတယ္။ Variable Words ေတြရဲ့ၾကားမွာ space ျခားခြင့္မရွိပါဘူး။ Interpreter မွာဒါေလးေရးၾကည့္ပါ။
 >>> Hades y2k = 1  
သခ်ာပါတယ္ Error တက္လာမွာပါ။ ဒါဆိုဘယ္လိုေရးမလဲ Hades_y2k လို ့သံုးရင္အဆင္ေျပပါတယ္။
ဒါေလးေတြလဲစမ္းေရးၾကည့္ၾကပါ။
 >>> 1PyLab = ‘pylab’  
 >>> python@ = ‘python’  
 >>> finally = ‘This is final’  
အကုန္လံုး invalid syntax ဆိုျပီး Error တက္လာမွာပါ။ ေျပာစရာဆိုလို ့ ေနာက္ဆံုးေကာင္ပဲ finally ကဘာလို ့ Error တက္ရတာလဲေပါ့ သူက letter နဲ ့လဲစတာပဲကို…..။
တျခားမပာုတ္ပါဘူး finally သည္ Python ရဲ့ keyword ျဖစ္ေနလုိ ့ပါ။ keywords ေတြကိုလဲ variable name ေတြအျဖစ္ယူသံုးလုိ ့မရပါဘူး။
Python 2 တြင္ Keywords 31 ခုရွိပါတယ္။ အဲ့တာေတြကေတာ့

1.4 Operators and operands

Operators ဆိုတာကတကယ္ေတာ့ Special Characters ေတြပါပဲ ဘာလုပ္ေဆာင္တာလဲဆိုေတာ့ Addition, Multiplication ေပါင္းႏုတ္ေျမာက္စား ဒါကိုဆိုလိုတာပါ။ ဒီ Mathematical Operations လုပ္ေဆာင္ဖို ့Assign လုပ္လိုက္တာေတြကို operands လို ့ေခၚတာပါ။
+ ကေတာ့လူတိုင္းသိတဲ့အတိုင္းအေပါင္း, - က subtraction ေခၚအႏုတ္, Multiplication လို ့ေခၚတဲ့အေျမာက္ကေတာ့ * ေနာက္ အစားလို ့ေခၚၾကတဲ့ Division ကေတာ့ / နဲ ့ Exponentiation (ျမန္မာလိုမျပန္တတ္ေတာ့ဘူး) ကေတာ့ ** ပါ။
တခ်ိဳ ့ Language ေတြမွာေတာ့ Exponentiation ကို ^ နဲ ့သံုးပါတယ္။ ဒါေပမဲ့ Python မွာေတာ့ ^ သည္ XOR ဆိုတဲ့ Bitwise Operator တစ္ခုပါ။
ဒါဆိုဥပမာေလးေတြကိုသြားလိုက္ရေအာင္ဗ်ာ။ Interpreter ေခၚလိုက္ပါ။ ျပီရင္ေအာက္ကလိုေရးလိုက္ပါ။
 >>> first_number = 2  
 >>> second_number = 10  
 >>> first_number/second_number  
 >>> 0  
2 ကို 10 နဲ ့စားတာဘာလို ့ Decimal Number ဆိုတဲ့ 0.2 ေခၚ 1/5 Floating Point မျပရတာပဲနဲ ့ 0 ဆိုတဲ့ integer value လာျပရတာလဲ။ အစမွာထဲက floating point  မယူခဲ့လို ့အေျဖကိုလဲ fraction ပိုင္းကိုျဖတ္ျပီး 0 ယူလိုက္တာပါ။ အစမွာထဲက interger အစား 2 ကိုျဖစ္ျဖစ္ 10 ကိုျဖစ္ျဖစ္ floating point 2.0 or 10.0 လုိ ့ေျပာင္းရင္အဆင္ေျပသြားမွာပါ။ ဒါကလဲသတိထားစရာေလးတစ္ခုပါ။

1.5 Expressions and statement

Values, Variables နဲ ့ Operatos ေတြကိုေပါင္းထားတာကို Expression လို ့ေခၚပါတယ္။ Statement ဆိုတာကေတာ့ Pythohn interpreter က execute လုပ္ႏိုင္တဲ့ code ကိုေျပာတာပါ။ Statement ဆိုတာ၂မ်ိဳးရွိပါတယ္။ Print နဲ ့ Assignment ပါ။
အဲတကယ္ေတာ့ Expression ဆိုတာကလဲ statement ပါပဲ တစ္ခုပဲကြာတာပါ။ Expression တြင္ value ရွိပါတယ္ ဒါေပသိ statement မွာေတာ့မရွိပါဘူး။

1.6 Interactive mode and script mode

Python ကဲ့သို ့ Interpreted language က C တို ့လိုေတြထက္အားသာခ်က္ကေတာ့ interactive mode မွာ code ေလးေတြကိုတစ္ခုခ်င္းစမ္းႏုိင္တာပါပဲ။ 
ကြ်န္ေတာ္တို ့ Python ကို Calculator လို ့သေဘာထားၾကည့္လုိက္ဗ်ာ…
 >>> miles = 26.2  
 >>> miles * 1.61  
 42.182  
ပထမလုိင္းက miles ဆိုတဲ့ variable ကို 26.2 ဆိုတဲ့ floating value assign လုပ္ပါတယ္။ ဒုတိယလိုင္းက expression ကို execute လုပ္ပါတယ္ျပီးေတာ့ result ကိုထုတ္ျပပါတယ္။
ဒါကို script mode မွာ ခ်ေရးရင္ဘာမွျမင္ရမွာမပာုတ္ပါဘူး။ Script mode  မွာဆို expression ကဘာမွျပန္မေဖာ္ျပပါဘူး။ ေျပာရရင္ Python ကို expression ကို execute လုပ္ပါတယ္ သို ့ေသာ္သင္ကမေဖာ္ျပခိုင္းသေရြ ့သူကလဲ Result ကိုေဖာ္ျပမွာမပာုတ္ပါဘူး။
Script mode မွာဆိုေအာက္ကလိုေရးရမွာပါ။ ျပီးရင္ေတာ့ .py ဆိုတဲ့ extension နဲ ့ save ျပီး cmd/terminal  ကေန run ၾကည့္ရမွာေပါ့။
 miles = 26.2  
 print miles * 1.61  
Script တစ္ခုဆိုတာတကယ္ေတာ့ statements ေတြေပါင္းစည္းထားတာပါပဲ။ statement ကတစ္ေၾကာင္းထက္ပိုေနရင္လဲ ေဖာ္ျပရမဲ့ results ေတြကိုတျပိဳင္ထဲေဖာ္ျပပါတယ္။
 print 1  
 x = 2  
 print x  
ဒါဆိုရင္ 1 ေကာ x value ေကာကိုတျပိဳင္ထဲေဖာ္ျပသြားမွာပါ။

1.7 Order of operations

Expression ထဲမွာ operators ေတြသည္တစ္ခုထက္ပုိေနရင္ order of evaluation က precedence rules အတိုင္းပဲလုပ္ေဆာင္သြားမွာပါ။ သခ်ာၤမွာသင္ခဲ့ရသလိုဆို + နဲ ့ * ကို * ကိုအရင္လုပ္ေဆာင္သြားမွာပါ။ ဒါမ်ိဳးေပါ့…။
• Parentheses ဆိုတာကိုအသံုးခ်ျပီးေတာ့ သင္လုပ္ေဆာင္ေစခ်င္တဲ့ Expression ကိုသင့္စိတ္ၾကိဳက္ order ေပးလုပ္ေဆာင္ႏိုင္ပါတယ္။ ဥပမာ..
3 * ( 4 + 1 ) ဆို 15 ထြက္လာမွာပါ။ ငယ္ငယ္ကသင္ခဲ့တဲ့သခ်ာၤသေဘာတရားအတိုင္းပါပဲ။ Parentheses ေတြကိုအသံုးျပဳျခင္းအားျဖင့္ ၾကည့္ရတာရွင္းလင္းလာေစပါတယ္။
• Exponentiation ဆိုတဲ့ ** က လဲ highest precedence ျဖစ္ပါတယ္။ 2 ** 1 + 1 ဆို 3 ထြက္မွာပါ။ 4 မထြက္ပါဘူး။ 3 * 1 ** 3 ဆို 3 ပါ 27 မပာုတ္ပါဘူး။
• Same precedence ရွိတဲ့ Operators ေတြဆို Left to Right အလုပ္လုပ္ပါတယ္။ (Exponentiation ကလြဲရင္ေပါ့)
ဒါကအလြတ္က်က္ေနစရာမလိုပါဘူး မသဲကြဲဘူးဆိုရင္ Parentheses ကိုအသံုးခ်ျပီး operators ေတြကိုစမ္းသြားလို ့ရပါတယ္။

1.8 String Operation

ပံုမွန္အရဆို string ေတြကို mathematical operations ေတြျပဳလုပ္ခြင့္မရွိပါဘူး။ ဥပမာေပးရမယ္ဆို ‘3’ – ‘1’ ျပီးေတာ့ ‘hello’/’world’
+ ဆိုတဲ့ Operators ကေတာ့ strings ေတြနဲ ့အလုပ္လုပ္ပါတယ္ ဒါေပသိ Addition ဆိုတဲ့ေပါင္းတာမပာုတ္ပါဘူး Strings  ေတြကို concatenation ျပဳလုပ္ေပးတာပါ။ တနည္းေျပာရရင္ဆက္ေပးတယ္ေပါ့ဗ်ာ။
 first = ‘Hello’  
 second = ‘World’  
 print first + second  
Hello World လို ့ျပမွာျဖစ္ပါတယ္။ ေနာက္ + လိုပဲ multiplication ျဖစ္တဲ့ * ကလဲ string ေတြနဲ ့အလုပ္လုပ္ပါတယ္။ ဒါေပသိ string မွာေတာ့ multiply လုပ္တာမပာုတ္ပါဘူး repeat လုပ္တဲ့သေဘာတရားပါ။ ေျပာရရင္ ‘Hello’ * 4 ဆိုတာက  ‘Hello’ + ‘Hello’ + ‘Hello’ + ‘Hello’ နဲ ့တူတူပါပဲ။

1.9 Comments

Program တစ္ခုေရးသားရာမွာ Comments ေတြကအရမ္းကိုအေရးၾကီးလွပါတယ္။ Source Code Sharing လုပ္ရာမွာ မိမိေရးထားတဲ့ functions ေတြရဲ့အလုပ္လုပ္ပံုကို human language နဲ ့ေဘးမွာေရးသားတာမ်ိဳးေတြပါ။
Python မွာေတာ့ Comments ကို # နဲ ့စေရးပါတယ္။ # ေနာက္ကေရးသမွ်ေတြသည္ Program အလုပ္လုပ္ရာမွာထည့္ေရးမွာမပာုတ္ပါဘူး။
End of Python Startup #1
to be continue

PyLab (c) 2016


Pylab

Developer

Keep calm and love Python

0 comments:

Post a Comment