อยากเริ่มเขียน Python ทำอย่างไรดี

Kritthanit Malathong
5 min readJan 14, 2021

--

ถ้าคุณอยากเริ่มเขียน Python แต่ไม่รู้จะเริ่มตรงไหน แนะนำให้อ่านบทความนี้เลยครับ

ส่วนประกอบของการเขียนโปรแกรม

การเริ่มต้นเขียนโปรแกรมโดยทั่วไป จำเป็นต้องมีส่วนประกอบ 2 ส่วนได้แก่

ส่วนประกอบสำหรับการเขียนโปรแกรมทั่วไป
  • Compiler ทำหน้าที่แปลงภาษาโปรแกรมให้เป็นภาษาเครื่องที่คอมเข้าใจ
  • Editor ทำหน้าที่เป็น GUI เอาไว้ให้โปรแกรมเมอร์เขียนโปรแกรมได้ง่าย

ดังนั้นโดยปกติแล้วเราจะต้องโหลด 2 ตัวนี้มาก่อน จึงจะเริ่มเรียนโปรแกรมได้ แต่เพื่อดึงดูดให้คนมาใช้งาน Editor ของตัวเอง ผู้พัฒนา Editor บางตัว จึงรวม Compiler เข้ามาไว้ให้เราเรียบร้อยแล้ว ทำให้ผู้ใช้งานไม่ต้องไปหาโหลด Compiler เพิ่มเติม เช่น Visual Studio และ MATLAB

แต่สำหรับ Python นั้นจะแตกต่างจากโปรแกรมเหล่านี้พอสมควร

กล่าวคือ ภาษาโปรแกรมทั่วไป ไม่ว่าเราอยากจะเขียนโปรแกรมอะไร ยกเว้นพวกฟังก์ชันที่เป็นคำสั่งพื้นฐาน ฟังก์ชันอื่นๆ เราก็ต้องเขียนโค้ดขึ้นมาใช้เองทั้งหมด ดีสุดก็คือมีคนเขียนตัวอย่างโค้ดไว้ในอินเตอร์เน็ต แล้วเราก็ไปก็อปปี้โค้ดพวกนั้นมาใส่ในโปรแกรมของเรา

หรือถ้าเป็น MATLAB ก็จะมี Toolbox ติดมาให้กับตัวโปรแกรมเลย (ถ้าเราซื้อตัว MATLAB พร้อม Toolbox) ซึ่งเวอร์ชั่นของ Toolbox ก็จะเข้าคู่กับเวอร์ชั่นของ MATLAB ให้เลย ทำให้สามารถทำงานร่วมกันได้อย่างไม่มีปัญหา ทำให้โปรแกรมเมอร์ ไม่ต้องสนใจปัญหาจุกจิก เรียกได้ว่าใช้งานง่ายมาก สมกับเป็นโปรแกรมที่ต้องเสียเงินซื้อเลยทีเดียว

แต่สำหรับ Python นั้นแตกต่างออกไป เพราะ…

  1. เราสามารถติดตั้งโมดูล หรือ แพ็คเก็จเพิ่มเติมนอกเหนือจาก Compiler ได้
  2. มันเป็นฟรีแวร์ ทำให้ไม่มีคนคอยจัดการปัญหาจุกจิกให้เรา ซึ่งปัญหาจุกจิกที่ว่าก็คือ ความเข้ากันได้ของเวอร์ชั่น ระหว่างเวอร์ชั่นของ Python กับเวอร์ชั่นของ โมดูลหรือ แพ็คเก็จต่างๆ และเนื่องจากมันเป็นของฟรี จึงไม่มีใครมาคอยบอกว่าโมดูลเวอร์ชั่นนี้ ใช้งานได้กับ Python เวอร์ชั่นไหนบ้าง

ดังนั้นสำหรับ Python จึงจำเป็นต้องมีองค์ประกอบ 4 อย่าง จึงจะสามารถเริ่มเขียนโปรแกรมได้ นั่นก็คือ

ส่วนประกอบสำหรับการเขียน Python
  • Compiler
  • Editor
  • Environment คือตัวจำลองสภาพแวดล้อม สำหรับติดตั้งโมดูลต่างๆ
  • Package Installer หรือ Module Installer คือตัวติดตั้ง Package เสริม

อย่างที่อธิบายไปนั่นแหละครับว่าการใช้งานโมดูลเสริม มันมีปัญหาความเข้ากันได้กับเวอร์ชั่นของ Python ดังนั้น เราจึงจำเป็นต้องมีตัวจำลองสภาพแวดล้อม เพื่อเอาไว้ติดตั้งแพ็จเก็ค หรือ Python เวอร์ชั่นต่างกัน ยกตัวอย่างเช่น

ถ้าผมจะเขียน Python เพื่อรันบนวินโดวส์ 10 ผมสามารถใช้ Python เวอร์ชั่นล่าสุดได้เลย แต่ถ้าหากเครื่องที่จะเอาโปรแกรมไปรันเป็นวินโดวส์ 7 หรือ XP ผมก็ต้องสร้าง “Environment” ขึ้นมาใหม่ แล้วติดตั้ง Python เวอร์ชั่นต่ำลงไป ดังนั้นถึงแม้เราจะเขียนโปรแกรมในเครื่องเดียวกัน แต่ก็สามารถรัน Python ในเวอร์ชั่นต่างกันได้

ตอนนี้ทุกคนน่าจะมองเห็นภาพรวมของ Python กันแล้วใช่ไหมครับ งั้นต่อไปเรามาเริ่มติดตั้ง และเรียนรู้การใช้งานส่วนประกอบเหล่านี้กันเลย

เริ่มติดตั้ง Python

1. ติดตั้ง Compiler

เข้าไปโหลดได้ที่นี่ครับ แต่อ่านดีๆ นะครับ เพราะ Python เวอร์ชั่นใหม่ๆ จะรองรับการทำงานบน window xp, window 7 แล้วนะ

หมายเหตุ ตอนติดตั้งให้เลือก Add path ด้วยนะ

เมื่อติดตั้งเสร็จแล้ว เราสามารถทดสอบการทำงานได้โดยเปิด cmd ขึ้นมา แล้วพิมพ์คำว่า python ถ้าได้ผลลัพธ์ประมาณนี้ก็แสดงว่าติดตั้งเสร็จเรียบร้อย

2. ติดตั้ง Editor

Editor สำหรับ Python นั้นมีหลายตัวครับ ไม่ว่าจะเป็น Pycharm, Spyder, Jupiter Notebook, Google Colab หรือแม้กระทั้ง Notepad ก็ใช้เขียนได้ แต่ถ้าใครไม่อยากโหลดใหม่ก็ใช้ตัว IDLE ก็ได้ ซึ่งเป็น Editor พื้นฐานที่มาพร้อมกับ Python เลย แต่ถ้าใครเคยใช้ MATALB มาก่อน หรืออยากจะใช้ Python สำหรับการทำงานวิจัย หรือการเรียน ผมแนะนำให้ใช้ Spyder นะครับ หน้าตาค่อนข้างคล้ายกับ MATLAB เลย

สำหรับวิธีการติดตั้ง Editor แต่ละตัวก็จะแตกต่างกันนะครับ บางตัวก็มีให้โหลดในอินเตอร์เน็ต สามารถติดตั้งแยกได้เลย แต่บางตัวอย่างเช่น Spyder ผมแนะนำให้ใช้ Package installer ติดตั้งจะง่ายกว่า (ถ้าอยากรู้ว่าจะติดตั้งยังไง อ่านต่อไปเลยครับ)

3. ติดตั้ง Package Installer

โดยส่วนตัวผมคิดว่า ฟังก์ชันนี้แหละครับที่ทำให้ Python เป็นที่นิยมใช้กัน ซึ่งปัจจุบัน (ปี 2020) Python คือภาษาที่ได้รับความนิยมสูงที่สุดในโลกไปแล้ว (หากราฟดูได้ใน google)

ตัว Package Installer นี้ถือว่าเป็นจุดเด่นของ Python ที่โปรแกรมภาษาอื่นไม่เลยก็ว่าได้ครับ ทำให้โปรแกรมเมอร์ที่เก่งๆ สามารถสร้าง Package หรือ Module ของตัวเอง เพื่อแจกจ่าย หรือขาย ให้คนอื่นใช้งานได้ ส่วนโปรแกรมเมอร์ทั่วไป ก็สามารถโหลด Package หรือ Module เสริมมาใช้งานได้อย่างง่ายดาย ส่วนที่ว่าจะง่ายยังไง มาดูกันเลย

ในปัจจุบัน เท่าที่ผมทราบนะครับ จะมีตัวติดตั้ง Package ให้เราเลือกใช้งาน 2 ตัว คือ

  • Pip
  • Conda

ข้อแตกต่าง ของ 2 ตัวนี้คือ

  1. ตัว pip นั้นจะเป็นเครื่องมือที่เอาไว้ติดตั้งแพ็คเก็จ หรือ โมดูล อย่างเดียว แต่ conda นั้นจะมาพร้อมกับโปรแกรม Anaconda ซึ่งทำหน้าที่ได้ทั้งติดตั้งโมดูลเสริม และจัดการ Environment
  2. เนื่องจาก pip ทำงานแค่อย่างเดียว คือติดตั้งแค่โมดูลเสริม จึงใช้พื้นที่น้อย จึงเหมาะกับการติดตั้งในอุปกรณ์ที่มีพื้นที่ให้ใช้งานไม่เยอะ เช่น Raspberry Pi แต่ conda จะต้องติดตั้งพร้อมกับโปรแกรม Anaconda หรือ Mini conda ซึ่งใช้พื้นที่เยอะกว่า และเสียเวลาติดตั้งนานกว่า
  3. pip ใช้งานได้ครอบคลุมมากกว่า เรียกได้ว่าทุกโมดูล สำหรับ Python สามารถติดตั้งได้ผ่าน pip แต่ conda นั้นยังไม่ได้ครอบคลุมขนาดนั้น ส่วนมากก็จะมีแค่โมดูลหลักๆ ที่คนทั่วไปใช้งานกัน

การติดตั้ง PIP

  1. ตรวจสอบเวอร์ชั่น pip

ใน Python เวอร์ชั่นใหม่ๆ จะมี pip ติดตั้งมาให้พร้อมแล้ว เราสามารถตรวจสอบได้โดยใช้คำสั่ง

pip --version

2. ติดตั้งและ update pip

ถ้าหากเรายังไม่ได้ติดตั้ง pip ให้ติดตั้งโดยใช้คำสั่งต่อไปนี้

python get-pip.py

แต่ถ้าหากติดตั้งเอาไว้แล้วให้ update pip โดยใช้คำสั่งต่อไปนี้

python -m pip install --upgrade pip

ถ้าหากว่าเราจำเป็นต้องทำงานกับ python เวอร์ชั่นเก่าๆ ซึ่งไม่รองรับ pip เวอร์ชั่นล่าสุด เราสามารถลดเวอร์ชั่นของ pip ได้โดยใช้คำสั่งดังนี้

python -m pip install pip==18.0

สำหรับผู้เริ่มต้นศึกษา หากคิดว่าการใช้งาน pip ยากเกินไปและยังไม่เข้าใจ จะลองใช้ conda ไปก่อนก็ได้ แต่ถ้าหากเริ่มเขียนได้เก่งแล้ว ผมแนะนำว่าให้ใช้ pip จะสะดวกและเร็วกว่าใช้ conda

การติดตั้ง Conda

ดาวน์โหลดโปรแกรม Anaconda ได้ที่ลิงค์ด้านล่างนี้

เมื่อติดตั้งโปรแกรม Anaconda เสร็จ เราจะได้โมดูลพื้นฐานมาทั้งหมด ไม่ต้องติดตั้งเอง และมี Editor ติดตั้งมาให้ด้วยหลายตัว เราสามารถเลือกใช้งานได้ตามความชอบของเราเลย ถ้าคุณเพิ่งเริ่มเขียน Python เป็นภาษาแรก และยังไม่รู้เรื่องเกี่ยวกับการเขียนโปรแกรมเลย ผมแนะนำให้ใช้ตัวนี้ไปก่อนครับ เพราะมี GUI ทำให้ใช้งานง่าย และแทบจะไม่ต้อง config อะไร ก็สามารถใช้งานได้เลย

ตัวอย่างหน้าตาโปรแกรม Anaconda

4. ติดตั้ง Environment

การจำลองสภาพแวดล้อมในเครื่องสำหรับ python นั้นมีเครื่องมือให้เราเลือกใช้หลายตัว แต่ในบทความนี้ผมจะแนะนำเฉพาะตัวที่ผมใช้ นั้นก็คือ virtualenv ซึ่งสามารถติดตั้งผ่าน pip ได้ดังนี้

pip install virtualenv

พิมพ์คำสั่งแค่บรรทัดเดียวเท่านี้แหละครับ (พิมพ์ใน cmd) จากนั้นก็รอมันติดตั้งที่เหลือเอง แค่นี้ก็เสร็จแล้ว

จริงๆ แล้วเครื่องมือจำลองสภาพแวดล้อมสำหรับ python มีหลายตัวมากนะครับ แต่ละตัวก็จะมีคำสั่งแตกต่างกันไป แต่ในบทความนี้ผมจะแนะนำเฉพาะการใช้งาน virtualenv ดังนั้นหากคุณใช้เครื่องมือจำลองสภาพแวดล้อมตัวอื่น คำสั่งเหล่านี้ก็จะใช้งานไม่ได้นะครับ

เมื่อติดตั้ง virtualenv เสร็จแล้ว เราก็สามารถใช้งานได้ดังนี้ครับ

สร้างสภาพแวดล้อมจำลอง

virtualenv {name}

ตัวอย่างเช่น

virtualenv cv

คือการสร้างสภาพแวดล้อมที่ชื่อว่า cv ซึ่งโดยปกติแล้ว การตั้งชื่อสภาพแวดล้อมจำลองนี้ เราจะตั้งตามชนิดของโปรเจ็คที่เราจะทำเป็นหลัก เช่น ผมจะเขียนโปรแกรมเกี่ยวกับ computer vision หรือ image processing ผมก็ตั้งชื่อสภาพแวดล้อมจำลองว่า cv

สภาพแวดล้อมจำลองที่เราสร้างขึ้น (โดยใช้ virtualenv) จะถูกเก็บไว้ที่
C:\users\{window-user-name}\{env-name}

โดยในโฟลเดอร์สภาพจำลองจะมีหน้าตาดังนี้

ภายในโฟลเดอร์สภาพแวดล้อมจำลอง

ดังนั้นหากเราสร้างสภาพจำลองไว้หลายตัว แล้วจำไม่ได้ว่าสร้างอะไรไว้บ้าง ก็ให้เข้าไปดูที่

C:\users\{window-user-name}\

แล้วก็ไล่เช็คดูว่าโฟลเดอร์ไหนที่มีหน้าตาแบบข้างบนบ้าง หรือถ้าจะให้ง่ายกว่านั้นก็ใช้คีย์เวิร์ดเข้ามาช่วย เช่น ใช้คำว่า env นำหน้าชื่อสภาพแวดล้อมจำลองเสมอ ตัวอย่างเช่น

virtualenv env-cv

เมื่อเราไปดูใน

C:\users\{window-user-name}\

เราก็จะรู้ทันทีว่าโฟลเดอร์ไหนบ้างที่เป็น สภาพแวดล้อมจำลองสำหรับ python ที่เราสร้างเอาไว้

และถ้าหากเราลง Python เอาไว้หลายเวอร์ชั่น และต้องการกำหนดให้สภาพแวดล้อมจำลองที่เราสร้างขึ้นใช้ Python เวอร์ชั่นอื่น เราสามารถใช้คำสั่งดังนี้ เพิ่มเข้าไปในตอนสร้างสภาพแวดล้อมจำลองได้

virtualenv -p {python-ver} {env-name}

ตัวอย่างเช่น

virtualenv -p python3.6 env-cv

สภาพแวดล้อมจำลอง env-cv ก็จะใช้ python เวอร์ชั่น 3.6 เป็นตัวรัน แต่ถ้าหากเราไม่ได้กำหนดเวอร์ชั่นของ python โดยปกติก็จะใช้เป็นเวอร์ชั่นล่าสุดที่เราติดตั้งเอาไว้ในเครื่อง

การเลือกสภาพแวดล้อมจำลอง

หรือก็คือการสั่งให้สภาพแวดล้อมจำลองเริ่มทำงาน ทำได้โดยใช้คำสั่งต่อไปนี้

cd {env-name}
scripts\activate

คำสั่ง cd คือให้เปลี่ยนไปโฟลเดอร์สภาพแวดล้อมจำลองที่เราสร้างเอาไว้ ตัวอย่างเช่น ถ้าโฟลเดอร์ปัจจุบันของ cmd อยู่ที่ไดร์ฟ

D:\

แต่โฟลเดอร์สภาพแวดล้อมอยู่ที่

C:\users\kritt\cv

ก็ต้องพิมพ์คำสั่งว่า

cd c:\users\kritt\cv

แต่ถ้าหากโฟลเดอร์ปัจจุบันอยู่ที่ c:\users\kritt อยู่แล้ว ก็พิมพ์แค่ว่า

cd cv

จากนั้นจึงตามด้วยคำสั่ง scripts\activate เพื่อสั่งให้สภาพแวดล้อมทำงาน เมื่อสภาพแวดล้อมจำลองทำงานแล้ว เราจะเห็นวงเล็บชื่อสภาพแวดล้อมจำลอง อยู่ด้านหน้าดังนี้

เมื่อเราสั่งให้สภาพแวดล้อมจำลองทำงานแล้ว เราก็สามารถติดตั้งโมดูล หรือแพ็จเก็คเสริมต่างๆ ได้ ซึ่งโมดูลเหล่านี้จะใช้ได้เฉพาะในสภาพแวดล้อมจำลองตัวนี้เท่านั้น

การออกจากสภาพแวดล้อมจำลอง

ทำได้โดยใช้คำสั่ง

cd {env-name}
scripts\deactivate

การติดตั้งโมดูลในสภาพแวดล้อมจำลอง

เราสามารถพิมพ์คำสั่งโดยใช้ pip นำหน้าได้เลย เช่น

pip install numpy

คือการติดตั้งโมดูลที่ชื่อว่า numpy แต่ถึงแม้ว่า pip จะมีโมดูลให้ติดตั้งเยอะมาก เราก็ไม่จำเป็นต้องติดตั้งทุกโมดูล แต่ควรจะเลือกติดตั้งเฉพาะโมดูลที่ใช้งานในโปรเจ็คของเราเท่านั้น

วิธีการเช็คง่ายๆ เลยก็คือ ลองเขียนโปรแกรมไปก่อน ถ้าตอนรันมันฟ้องว่าไม่รู้จักโมดูลอะไร ก็ค่อย install เพิ่มเข้ามา

การติดตั้ง Spyder โดยใช้ pip

Spyder คือ Editor สำหรับใช้เขียน Python ตัวหนึ่งที่ได้รับความนิยมมาก เพราะใช้งานง่าย และเหมาะกับการวิจัย รวมทั้งมีหน้าตาโปรแกรมค่อนข้างคล้ายกับ MATLAB ด้วย จึงทำให้ง่ายต่อการทดสอบโค้ด หรือการตัวค่าตัวแปรและกราฟ

การติดตั้ง spyder สามารถทำได้โดยใช้คำสั่งดังนี้

pip install spyder

เมื่อติดตั้งเสร็จแล้ว เราสามารถพิมพ์คำสั่ง spyder เพื่อรันโปรแกรมได้เลย ตัวอย่างเช่น

โปรแกรม spyder ก็จะรันขึ้นมา ซึ่งมีหน้าตาดังนี้

ตัวอย่างหน้าตาโปรแกรม spyder

โดยโปรแกรม spyder ตัวนี้จะใช้ Python เวอร์ชั่นเดียวกับสภาพแวดล้อมจำลองที่เราสร้างขึ้น ดังนั้นถ้าเรามีสภาพแวดล้อมจำลองหลายตัว ก็จำเป็นต้องลง spyder แยกกัน เพราะสภาพแวดล้อมจำลองแต่ละอัน ก็อาจจะใช้ Python คนละเวอร์ชั่น รวมทั้งโมดูลคนละตัว ดังนั้นหากจะไป config โปรแกรม spyder ใหม่ทุกครั้งที่เริ่มใช้งาน ก็จะยุ่งยาก และลำบากกว่าการลง spyder แยกตามสภาพแวดล้อมจำลองเอาไว้เลย

เมื่อเราเขียนโปรแกรมเสร็จแล้ว เราสามารถกดรันในโปรแกรมนี้ได้เลย หรือจะรันผ่าน cmd ก็ได้ โดยใช้คำสั่งดังต่อไปนี้

cd {program-folder}
python {program-name}.py

หมายเหตุ cd บรรทัดแรก เขียนเอาไว้เพื่อหมายความว่า ให้เปลี่ยนโฟลเดอร์ปัจจุบันของ cmd มาที่โฟลเดอร์โปรแกรม แต่ถ้าโฟลเดอร์ปัจจุบันของ cmd คือโฟลเดอร์โปรแกรมอยู่แล้ว ก็ไม่ต้องพิมพ์ cd อีก

สรุป

ก่อนจะเริ่มเขียน Python ได้นั้น เราจำเป็นต้องติดตั้งเครื่องมือ 4 ตัว ได้แก่ Compiler, Editor, Environment, Package Installer และเมื่อติดตั้งเครื่องมือทั้ง 4 ตัวนี้เสร็จแล้ว เราจะต้องสร้างสภาพแวดล้อมจำลองขึ้นมาเอาไว้ใช้งานกับโปรเจ็คของเรา เพื่อให้เราเลือกใช้ Python หรือ โมดูล ได้ตามเวอร์ชั่นที่เหมาะสมกับงานของเรา

แต่เนื่องจาก เมื่อเราติดตั้งโมดูลในสภาพแวดล้อมจำลองใดๆ แล้ว โมดูลนั้นจะสามารถใช้งานได้ในสภาพแวดล้อมจำลองตัวนั้นเท่านั้น จึงต้องตรวจเช็คให้ดีว่า เรากำลังรันโค้ดในสภาพแวดล้อมตัวใด ไม่เช่นนั้น ต่อให้โปรแกรมคุณเขียนถูก แต่ก็อาจจะรันไม่ได้

ยกตัวอย่างเช่น

สมมุติว่าผมสร้างสภาพแวดล้อมจำลองเอาไว้ 2 ตัวชื่อว่า env-cv และ env-forex แต่ผมติดตั้งโปรแกรม spyder เอาไว้ที่ env-cv เท่านั้น ผมสามารถใช้โปรแกรม spyder ตัวนี้เขียนโปรแกรม Python สำหรับสภาพแวดล้อม env-cv และ env-forex ได้ แต่หากผมกดรันโปรแกรมใน spyder โปรแกรมที่ผมเขียนนั้นจะถูกรันด้วย Python เวอร์ชั่นของ env-cv และโมดูลต่างๆ ใน env-cv เท่านั้น ซึ่งถึงแม้ผมจะเขียนโปรแกรมถูกต้องทั้งหมด แต่โปรแกรมนั้นก็อาจจะ error ได้ เพราะว่าโมดูลต่างๆ ที่ต้องใช้ในโปรแกรมผมติดตั้งเอาไว้ใน env-forex

ดังนั้นหากจะรันโปรแกรมตัวนี้ ผมต้องไป activate ให้ env-forex ทำงานแล้วพิมพ์คำสั่งรันโค้ดโปรแกรมใน cmd แทน ไม่สามารถกดรันผ่านโปรแกรม spyder ได้

--

--

No responses yet