Python 3 ဖြင့် Programming ကို လေ့လာခြင်း – မိတ်ဆက်

လက်ရှိအချိန်မှာ Python ဟာ သင်လို့အလွယ်ဆုံးနဲ့ လက်တွေ့အသုံးအကျဆုံး programming language ြဖစ်ပါတယ်။ တခြား programming language ေတွဟာ သူ့နေရာနဲ့သူ အားသာချက်တွေ ကိုယ်စီရှိကြတယ်ဆိုပေမယ့် Python ကတော့ အထွေထွေနေရာ ပေါင်းစုံမှာ အသုံးပြုနိုင်တဲ့ programming language ြဖစ်တာမို့၊ သင်ရလည်းလွယ်၊ အသုံးပြုရလည်း လွယ်တဲ့ programming language ြဖစ်လာပါတယ်။

Python နဲ့ ရေးထားတဲ့ code ေတွဟာ ဖတ်လို့လွယ်တယ်၊ ရှင်းလင်းတယ်၊ C++ တို့၊ Java တို့မှာ code line ေတွ အများကြီးရေးရပေမယ့် Python မှာတော့ Code အနည်းငယ်ရေးရုံနဲ့ အလုပ်ဖြစ်တာကို တွေ့ရပါတယ်။

နောက်တစ်ခုက Python က cross-platform ဖြစ်ပါတယ်။ သီအိုရီအရဆိုရင် Python ကို Unix အခြေခံတွေဖြစ်တဲ့ System V ရဲ့မျိုးဆက် Unix ေတွ၊ BSD မျိုးဆက် Unix တွေ၊ Solaris၊ Linux၊ Minix၊ macOS အစရှိတဲ့ OS တွေမှာလည်း အသုံးပြုနိုင်သလို Windows OS ေတွ၊ BeOS ရဲ့ မျိုးဆက်သစ်ဖြစ်တဲ့ Huiku OS တွေ၊ ေနာက်တစ်ခါ မျိုးဆက်သစ် OS ေတွဖြစ် Plan 9 OS ေတွမှာပါ အသုံးပြုနိုင်ပါတယ်။ Python ရဲ့ ထူးခြားချက်က build တို့၊ compile လုပ်တာတို့ မလိုတဲ့အတွက်ကြောင့် အဲဒီလို OS ေတွ တစ်ခုနဲ့တစ်ခု ပြောင်းသုံးရင် ဟိုဘက် OS မှာရေးထားတဲ့ code ေတွကို ဒီဘက် OS မှာ copy/paste လုပ်လိုက်ရုံနဲ့တင် အဆင်ပြေစေပါတယ်။ Standard library ေတွ အတော်များများဟာ OS တိုင်းလိုလိုအတွက် အတူတူပဲဖြစ်တာမို့၊ ပြန်ပြင်ရတယ်ဆိုတာ အနည်းငယ်လောက်ပဲ ရှိတာပါ။

Python ရဲ့ standard library ဟာ အတော်ကို ပြည့်စုံပါတယ်။ အင်တာနက်ကနေ ဖိုင်တွေ download လုပ်ပေးတဲ့ app ကလေးပဲဖြစ်ဖြစ်၊ web server တစ်ခု တည်ဆောက်ဖို့အတွက်ပဲဖြစ်ဖြစ်၊ ဖိုင်တွေကို compressed လုပ်ဖို့ပဲဖြစ်ဖြစ် လိုအပ်တဲ့ အချက်အလက်တွေ အတော်များများကို standard library ထဲမှာတင် ရနိုင်ပါတယ်။ တကယ်လို့ standard library ထဲမှာပါတဲ့ function တွေနဲ့တင် မလုံလောက်ခဲ့ဘူးဆိုရင်လည်း Python မှာက သိန်းနဲ့သန်းနဲ့ချီတဲ့ third party library တွေကို opensource အေနနဲ့ေရာ၊ free (free as in beer) အနေနဲ့ရော၊ အခပေးရတဲ့ပုံစံနဲ့ပါ အမျိုးစုံရနိုင်ပါတယ်။ ဥပမာ သင်္ချာနဲ့သက်ဆိုင်တဲ့ ခက်ခဲတဲ့တွက်ချက်မှုတွေအတွက် NumPy ဆိုတာရှိပါတယ်။ simulation တွေအတွက်ဆိုရင်တော့ SimPy ဆိုတာကို သုံးလို့ရပါတယ်။ Python Package Index ဖြစ်တဲ့ pypi.python.org/pypi မှာ third party library တွေကို အသေးစိတ်လေ့လာကြည့်နိုင်ပါတယ်။

ပညာရေးနယ်ပယ်မှာ Python ကို အသုံးများတယ်၊ programming စသင်ချင်သူတွေကို Python နဲ့ စသင်ပေးတာများတယ်ဆိုတာမှာ အကြောင်းရှိပါတယ်။ ဘာလို့လဲဆိုတော့ Python သည် procedural လို့ခေါ်တဲ့ ရိုးရှင်းတဲ့ programming ရေးသားပုံမျိုးနဲ့ ရေးသားနိုင်တုန်းမို့လို့ပါ။ ပုံမှန်အားဖြင့် Python ကို object-oriented language အနေနဲ့ ရေးသားထားတယ်ဆိုပေမယ့် Java တို့၊ C# တို့၊ Ruby တို့မှာလို မဖြစ်မနေ Object-oriented အနေနဲ့ ရေးစရာမလိုပါဘူး။ ဒီသင်ခန်းစာမှာတော့ OOP ရော၊ procedural ရော နှစ်မျိုးစလုံး သုံးသွားမှာပါ။ functional programming မှာဆိုရင်လည်း Python မှာသုံးလို့ရတဲ့ functional programming features တွေ အချို့ကို ရှင်းပြသွားဖို့လည်း စိတ်ကူးထားပါတယ်။

ဒီသင်ခန်းစာရဲ့ ရည်ရွယ်ချက်ဟာ Python 3 ကို အသုံးချပြီးတော့ Python language နဲ့ program တွေကို ဘယ်လိုရေးနိုင်တယ်ဆိုတာကို သင်ပေးဖို့ပါ။ တကယ့် ကွန်ပျူတာသိပ္ပံသုံး programming အယူအဆတွေကို ထည့်သွင်းပေးသွားဖို့တော့ မရှိပါဘူး။ ပုံမှန်လိုအပ်မယ့် OOP ဆိုင်ရာ အယူအဆတွေလို အယူအဆမျိုးတွေလောက်ပဲ ထည့်သွင်းသွားမှာပါ။

ဒီနေရာမှာ အထူးပြောချင်တာက ဒီသင်ခန်းစာသည် Python 3 အတွက် သီးသန့်ဖြစ်ပါတယ်။ Python 2 ဟာ ခေတ်မမီတော့ပါဘူး။ Python 3 ဟာ ေယဘုယျအားြဖင့် Python 2 ထက် ပိုကောင်းပြီး ပိုခေတ်မီတာမို့၊ ဒီသင်ခန်းစာမှာ Python 3 ကိုပဲ အသုံးပြုသွားမှာ ဖြစ်ပါတယ်။

ဒီသင်ခန်းစာမှာ Python ကို သင်ကြားဖို့ အဓိကရည်ရွယ်တာဖြစ်ပြီး၊ Standard Python library ရဲ့ function ေတွ အများအပြားကို ရှင်းပြသွားဖို့ ရှိတယ်ဆိုဦးတော့၊ အကုန်အစင်တော့ မဟုတ်ပါဘူး။ ဒါပေမယ့် ဒီသင်ခန်းစာမှာ ရလိုက်တဲ့ Python knowledge ေတွကို သုံးပြီးတော့ standard library ထဲကဖြစ်ဖြစ် third-party libraries တွေထဲကဖြစ်ဖြစ် ကြိုက်တဲ့ libraries ေတွကိုသုံးပြီး Python program တွေကို ရေးနိုင်လာပါလိမ့်မယ်။

သင်ခန်းစာရဲ့ ရည်ရွယ်ချက်က သင်စဦး programming သမားတွေကို ရည်ရွယ်တာဖြစ်လို့၊ programming ဆိုင်ရာ အတွေ့အကြုံတစ်ချို့ ရှိမယ်ဆိုရင် ပိုအဆင်ပြေပါလိမ့်မယ်။ ဥပမာ data type ေတွ၊ control structures တွေနဲ့ functions တွေပါ။ တစ်ချို့နေရာတွေမှာဆိုရင်တော့ HTML markup ေတွကို နားလည်ဖို့ လိုပါမယ်။ တစ်ချို့အခန်းတွေ ဥပမာ Database နဲ့ဆိုင်တဲ့ အခန်းတွေမှာဆိုရင်တော့ SQL နဲ့ပတ်သက်ပြီး အခြေခံလေးတွေ သိထားရင် ပိုအဆင်ပြေပါလိမ့်မယ်။ ဒါပေမယ့် အခြေခံလုံးဝမရှိသူတွေလည်း မကြောက်ပါနဲ့။ သက်ဆိုင်ရာအခန်းတိုင်းမှာ အခြေခံအကြောင်းလေးတွေကို အနည်းငယ်ရှင်းပြပေးပြီး ပိုပြီးလေ့လာချင်ရင် ေလ့လာနိုင်မယ့် website link လေးတွေကိုလည်း ထည့်ပေးသွားမှာပါ။

သင်ခန်းစာနဲ့ ပတ်သက်ပြီးတော့ မြန်နိုင်သမျှမြန်မြန် နားလည်နိုင်အောင် လုပ်ပေးထားပါတယ်။ ပထမဦးဆုံးအခန်းကို လေ့လာပြီးပြီ ဆိုတာနဲ့ Python program တစ်ခုကို ရေးနိုင်သွားစေရမယ်။ တစ်ခန်းပြီးတစ်ခန်း ပိုပိုပြီးခက်တဲ့ ရှုပ်ထွေးတဲ့ program တွေကို ရေးနိုင်လာအောင် ဒီဇိုင်းဆွဲပေးထားတယ်။

ဒါကြောင့်မို့လို့ ကိုယ်ကအခုမှ စသင်တဲ့လူဆိုရင် တဆင့်ချင်းစီ ဖတ်သွားဖို့လိုပြီး၊ သင်ခန်းစာတစ်ခုပြီးတိုင်း လေ့ကျင့်ခန်းတွေကို လိုက်လုပ်မယ်၊ သင်ခဲ့တဲ့ အကြောင်းအရာတွေကို အထပ်ထပ်ကျေညက်အောင် ဖတ်ပေးဖို့ လိုအပ်ပါလိမ့်မယ်။ တစ်ချို့အခြေအနေတွေမှာတော့ အကြောင်းအရာတစ်ခုကို ရှေ့အခန်းမှာ မိတ်ဆက်ပေးပြီး နောက်အခန်းမှာ အကျယ်တဝံ့ဆွေးနွေးတာမျိုးတွေလည်း လုပ်သွားတာမျိုးကို တွေ့ရမှာပါ။

Programming သင်တဲ့အခါ ကြုံရတဲ့ အခက်အခဲတစ်ခုက concept တစ်ခုကို သင်မယ်ဆိုရင် အဲဒီ concept ဟာ အခြားသော concept တစ်ခုနဲ့ တိုက်ရိုက်ပဲဖြစ်ဖြစ်၊ သွယ်ဝိုက်ပြီးတော့ပဲဖြစ်ဖြစ် ဆက်နွယ်နေတာမျိုး ရှိနေတာပါ။ ဒုတိယတစ်ချက်က programming တွေဟာ အင်မတန်နက်ရှိုင်းတဲ့ အဆင့်မှာပဲ တစ်ခုနဲ့တစ်ခု ကွဲပြားမှုတွေ ရှိနေပြီး၊ အပေါ်ယံမှာ တူညီမှုတွေ များပါတယ်။ ဥပမာ Javascript ကို ကောင်းကောင်းနားလည်ရင် Python ဟာ ရုတ်တရက်ကြည့်ရင် အသစ်အဆန်း မဟုတ်သလိုပါပဲ။ ဒါကြောင့်မို့ ဒီလိုလူမျိုးတွေအတွက် စိတ်ဝင်စားဖို့ကောင်းတဲ့ example တွေ၊ exercises ေတွ ဖန်တီးပေးရတာဟာ တကယ့်ကို ခေါင်းခြောက်စရာပါ။ ဒါကိုဖြေရှင်းဖို့က ဒီသင်ခန်းစာကို လေ့လာသူဟာ အခြေခံအကျဆုံး programming concept တွေကို နားလည်ပြီးသားလို့ ယူဆထားပါတယ်။ ဒါပေမယ့်လည်း အနည်းနဲ့အများတော့ ပြန်ရှင်းပြဦးမှာပါ။ နောက်တစ်ချက်က အစောပိုင်း chapter တွေမှာ Python ရဲ့ အဓိကအကျဆုံး programming ရေးသားပုံတွေကို ပြပေးထားပါတယ်။ အဲဒါကြောင့် ဒါကိုနားလည်ရင် အရင်ကနားလည်ပြီးသား programming အတွေ့အကြုံတွေနဲ့ ပေါင်းစပ်ပြီးတော့ ကိုယ်ပိုင် program တွေကို မြန်မြန်ရေးတတ်သွားအောင် စီစဉ်ပေးထားတာပါ။ ဒီလိုစီစဉ်တာရဲ့ အားနည်းချက်က ဘာလဲဆိုတော့ example ေတွသည် နည်းနည်းလေး artificial ဆန်နေတာမျိုး ဖြစ်နေတတ်ပါတယ်။ program မှာ နားလည်စေချင်တဲ့ အချက်ကို အဓိက point out လုပ်ဖို့ကိုပဲ စဉ်းစားထားတာမျိုးတွေပါ။ ဒါပေမယ့် နောက်ပိုင်းအခန်းတွေမှာ ဒီအချက်က အရေးမပါတော့ပါဘူး။ အခန်း ၇ နောက်ပိုင်းဆိုရင် လုံးဝ real life၊ natural Python 3 style examples တွေချည်းပဲ ဖြစ်သွားပါလိမ့်မယ်။

ဒီသင်ခန်းစာမှာဆိုရင် လက်တွေ့ program တွေကိုပဲ အသားပေးပြီးတော့ တည်ဆောက်ထားပါတယ်။ ဒါကြောင့် exercise ေတွဟာ လက်တွေ့အသုံးဝင်တဲ့ program တွေချည်းပါပဲ။

Example ေတွတော်တော်များများဟာ ဒီသင်ခန်းစာကို ရေးနေတုန်းမှာ နောက်ဆုံးထုတ်ထားတဲ့ Python 3.6.0 နဲ့ အလုပ်လုပ်ပါတယ်။ တကယ်တမ်းမှာ နောက်အကျဆုံး version က Python 3.1 ပါ။ ဒီသင်ခန်းစာက example ေတွ အားလုံးကို အလုပ်လုပ်ဖို့ဆိုရင် အနည်းဆုံး 3.1 ကိုတော့ install လုပ်ထားဖို့လိုပါမယ်။

ဒီသင်ခန်းစာမှာဆိုရင် တည်ဆောက်ပုံအရ

အခန်း (၁) မှာ Python အသုံးပြုသူတွေအတွက် အဓိကအရေးပါတဲ့ key point ၈ ခုကို မိတ်ဆက်ပေးသွားမှာပါ။ ဒီ ၈ ခုကို နားလည်ရင် Python program တွေ စရေးလို့ရပါပြီ။ အဲဒီနောက် Python programming environments အချို့ကို မိတ်ဆက်ပေးပြီးတော့ Python program အသေးလေးနှစ်ခုကို စမ်းရေးကြည့်ပါမယ်။ ဒီ program ၂ ခုရဲ့ ရည်ရွယ်ချက်က စောစောကပြောခဲ့တဲ့ key point ၈ ခုကို နားလည်အောင်လို့ပါ။

အခန်း (၂) ကနေ (၅) ကတော့ Python ရဲ့ procedural programming features တွေဖြစ်တဲ့ အခြေခံ data types ေတွနဲ့ အခြားသော builtin functions ေတွ၊ control structure တွေ၊ ရိုးရှင်းတဲ့ text file handling တွေကို ပြောသွားမှာပါ။

အခန်း (၅) ရောက်ရင်တော့ custom modules နဲ့ packages တွေ ဘယ်လိုလုပ်ရတယ်၊ Python standard library အကြောင်းတွေကို ပြောသွားပါမယ်။

အခန်း (၆) မှာတော့ object-oriented programming ကို Python မှာ ဘယ်လိုသုံးမယ်ဆိုတာကို ပြောပါမယ်။

အခန်း (၇) ကိုရောက်ရင် ဖိုင်တွေ write လုပ်တာ၊ read လုပ်တာေတွ ပါလာပါမယ်။ binary file ေတွကို compress လုပ်တာ၊ random access လုပ်တာ၊ text file ေတွအတွက် parsing တို့၊ regular expression တို့ ပါလာမယ်။ နောက်တစ်ခုက XML file ေတွ read လုပ်တာ၊ element tree တွေ၊ DOM နဲ့ SAX တွေအကြောင်း ပါလာပါမယ်။

အခန်း (၈) ကတော့ အရင်အခန်းတွေမှာ ပြောခဲ့တာတွေကို ပိုပြည့်ပြည့်စုံစုံ ပြန်ပြောတာပါ။ data type တွေ၊ data type collection တွေ၊ control structure ေတွ၊ function တွေနဲ့ OOP concept ေတွနဲ့ပတ်သက်ပြီး Python ရဲ့ advanced feature တွေ အကြောင်း ဖြစ်ပါတယ်။ ဒီအခန်းမှာဆိုရင် function အသစ်တွေ၊ class အသစ်တွေ၊ advanced techniques တွေ၊ functional-style programming ေတွ coroutines အသုံးပြုပုံတွေကို ဒီအခန်းမှာ မြင်ရပါလိမ့်မယ်။

အခန်း (၉) ရောက်ရင်တော့ အရင်ရှေ့အခန်းတွေမှာ ပြောခဲဲ့တဲ့ debugging၊ testing နဲ့ profiling တွေနဲ့ ပတ်သက်တဲ့ techniques ေတွနဲ့ libraries တွေအကြောင်းကို ဆက်ပြောပါမယ်။ အခန်း (၉) နောက်ပိုင်းအခန်းတွေကတော့ Advanced topics ေတွပါ။

အခန်း (၁၀) ရောက်ရင် multiple processes နဲ့ multiple threads တွေအကြောင်း

အခန်း (၁၁) မှာက Python ရဲ့ standard networking support တွေကိုသုံးပြီး client/server application ေတွ ရေးပုံအကြောင်း

အခန်း (၁၂) မှာက Database နဲ့ ပတ်သက်တဲ့ DBM file တွေနဲ့ SQL database ေတွအကြောင်း

အခန်း (၁၃) မှာက regular expression နဲ့ regular expressions module အကြောင်း

အခန်း (၁၄) မှာက Python regular expression နဲ့ ပတ်သက်တဲ့ Python third-party modules ေတွဖြစ်တဲ့ PyParsing နဲ့ PLY တွေ အကြောင်း

အခန်း (၁၅) မှာက GUI လို့ခေါ်တဲ့ Graphical User Interface programming ကို Python ရဲ့ standard library ထဲမှာပါတဲ့ tkinter module သုံးပြီး ဖန်တီးတဲ့အကြောင်းတွေကို ဆွေးနွေးသွားမှာပါ။

အစကတည်းက ပြောခဲ့သလိုပါပဲ။ ဒီသင်ခန်းစာဟာ အခြေခံ programming ကို နားလည်ထားပြီး Python နဲ့ program ေတွ ရေးချင်သူတွေအတွက် အဓိကရည်ရွယ်တာဖြစ်ပါတယ်။ အခြေခံလုံးဝမရှိသူတွေကတော့ ပေးထားတဲ့အချက်အလက်တွေကို ပြည့်ပြည့်စုံစုံဖတ်ဖို့လိုပြီး အခြား online က အချက်အလက်တွေ၊ tutorial တွေကိုလည်း ပေါင်းစပ်လေ့လာဖို့ လိုပါလိမ့်မယ်။

ဒီသင်ခန်းစာဟာ ကွန်ပျူတာသိပ္ပံတွေမှာ သင်ကြားပေးနေတဲ့ programming ဆိုင်ရာ Concept ေတွ အကုန်လုံးကို အပြည့်အဝခြုံငုံမိဖို့ မရည်ရွယ်ပါဘူး။ ဒီအတွက်က သီးခြားစာအုပ်စာတမ်းတွေကနေတဆင့် လေ့လာယူရမှာပါ။ ဒါက ကွန်ပျူတာ programming ကို နားလည်ဖို့အတွက် မဟုတ်ပဲ၊ ကွန်ပျူတာ programming ကို ရေးတတ်ချင်တဲ့သူတွေ၊ Python နဲ့ program တွေ ရေးချင်သူတွေအတွက် ရည်ရွယ်တာ ဖြစ်ပါတယ်။

Python software ကို Install လုပ်ခြင်း

ဒီနေရာမှာတော့ programming ကို လေ့လာနေတဲ့သူတွေ ဖြစ်တဲ့အတွက် software install လုပ်တာကို အသေးစိတ် မပြောတော့ပါဘူး။

Python အတွက် လိုအပ်တဲ့ software တွေ အကုန်လုံးကို https://www.python.org/ မှာ အကုန်ရှိပါတယ်။

Windows သမားတွေအတွက် Install လုပ်ပေးမယ့် EXE file ရှိပါတယ်။ ပုံမှန်အားဖြင့်က 30 MB အောက်ပဲ ရှိပါတယ်။ ကိုယ့် OS ရဲ့ architecture ကိုလိုက်ပြီး 32 bit နဲ့ 64 bit ကြိုက်တာကို ရွေးပြီး download လုပ်နိုင်ပါတယ်။

macOS သမားတွေကတော့ Mac OS X 64-bit/32-bit installer ဆိုတာ ရှိပါတယ်။ တစ်ခုသတိထားရမှာက ကိုယ်သွင်းချင်တဲ့ version ကို သိဖို့ပါပဲ။ ပုံမှန်အားဖြင့်တော့ macOS သမားတွေက Python ကို download လုပ်စရာမလိုပါဘူး။ Apple က တစ်ခါတည်း ထည့်ထားပေးပြီးသားပါ။ ဒါပေမယ့် latest version ကို အမြန်ဆုံးသုံးချင်တယ်၊ standard library ကို အပြည့်အစုံသုံးချင်တယ်ဆိုရင်တော့ python.org ကနေ DMG file ကို သွားယူပြီး သွင်းထားတာ အကောင်းဆုံးပါပဲ။

Linux နဲ့ တခြား Unix သမားတွေကတော့ သက်ဆိုင်ရာက software repositories တွေ၊ package manager တွေ အလိုက်ကွဲပြားမှု ရှိပါတယ်။ လူသုံးများတဲ့ Ubuntu တို့၊ Fedora တို့မှာတော့ Python က default အနေနဲ့ ပါလာပြီးသားပါ။ terminal ကနေ Python ကို ခေါ်ချင်ရင် python3 ဆိုတဲ့ command ကို သုံးလိုက်ရုံပါပဲ။

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s