ความรู้เบื้องต้นเกี่ยวกับ Python

Python คืออะไร

ในปี ค.ศ. 1980 Mr. Guido van Rossum ได้พัฒนาภาษาโปรแกรมมิ่งขึ้นมาและให้ชื่อว่าภาษา Python และเผยแพร่ให้ใช้งานสู่สาธารณชนในปี ค.ศ. 1991 [Gui19] Python เป็นภาษาโปรแกรมคอมพิวเตอร์ระดับสูง ซึ่งไวยากรณ์ของภาษาระดับสูงนี้จะใกล้เคียงคำในภาษาอังกฤษทั่วไป [Dow15] Python ถูกใช้ในการสร้างโมบายแอพพลิเคชั่น เว็บไซต์ เว็บแอพพลิเคชั่น ออนไลน์เซอร์วิส รวมทั้งใช้ในการวิเคราะห์ข้อมูลและคำนวณ ทางคณิตศาสตร์และวิทยาศาสตร์อย่างแพร่หลาย ตัวอย่างออนไลน์เซอร์วิสที่พัฒนาขึ้นด้วยภาษา Python ได้แก่ Instagram, Uber, Pinterest, Reddit, Spotify และ Dropbox [Shu19] โดยในระยะหลายปีที่ผ่านมานี้ Python ได้รับความนิยมสูงขึ้นเรื่อยๆ โดยในเดือนมิถุนายน 2562 ดัชนีความนิยมภาษาโปรแกรมมิ่ง TIOBE ได้แสดงให้เห็นว่า Python เป็นภาษาโปรแกรมมิ่งที่ได้รับความนิยมเป็นอันดับที่ 3 เทียบกับภาษาโปรแกรมมิ่งอื่นๆ และมีความนิยมสูงสุดในรอบ 19 ปี [TIO19]

../_images/tiobe.PNG

TIOBE Index for Python ในปี พ.ศ. 2562

หากเปรียบเทียบกับภาษาโปรแกรมมิ่งอื่นๆ แล้ว Python มีไวยากรณ์ภาษา (Syntax) ที่สามารถอ่านง่าย เข้าใจได้ง่าย และเรียนรู้ง่าย Python จึงเป็นภาษาที่เหมาะสมสำหรับการสอนการเขียนโปรแกรมโดยเฉพาะอย่างยิ่งในระดับเบื้องต้น อีกทั้งยังเป็นภาษาที่ยืดหยุ่นสามารถพัฒนาได้บนระบบปฏิบัติการที่หลากหลาย อาทิ Windows, Linux, OS/2, MacOS, iOS และ Android นอกจากนี้โปรแกรมเมอร์ทั่วโลกได้พัฒนาไลบรารี (Libraries) ขึ้นมาจำนวนมากสำหรับต่อยอด การทำงานของภาษา Python พื้นฐาน เช่น Django, Numpy, Pandas, Matplotlib, Flask, Web2py เป็นต้น [Fou19]

Python ทำงานอย่างไร

ภาษาโปรแกรมมิ่งระดับสูงจะต้องถูกโปรแกรมแปลภาษา เช่น คอมไพเลอร์ (Compiler) หรือ อินเทอร์พรีเตอร์ (Interpreter) ทำการแปลภาษาระดับสูงให้กลายเป็นภาษาเครื่องที่คอมพิวเตอร์เข้าใจก่อน [Lut13] ภาษาตระกูลที่ต้องใช้ Compiler เพื่อแปลงเป็นภาษาคอมพิวเตอร์ซึ่งเป็นภาษาที่มนุษย์อ่านไม่ออกแล้วจึงจะทำงานได้ เช่น ภาษา Java ภาษา C หรือภาษา C++ ภาษาพวกนี้จะได้โปรแกรมที่ทำงานรวดเร็วมาก แต่ก็ยากที่จะเรียนรู้ในช่วงการฝึกฝนการเขียน Programming ใหม่ๆ [Bar16]

แต่สำหรับภาษา Python เมื่อได้ Source code ที่เป็นนามสกุลไฟล์ .py แล้ว โปรแกรมจะถูกคอมไพล์โดยคอมไพเลอร์ของ Python เพื่อแปลคำสั่ง Python ให้เป็นคำสั่งแบบ Bytecode และบันทึกไว้ในไฟล์นามสกุล .pyc ต่อมาเมื่อผู้ใช้ต้องการ Run ไฟล์นี้ อินเทอร์พรีเตอร์ (Interpreter) ก็จะแปลง Bytecode เป็นภาษาเครื่องสำหรับการดำเนินการโดยตรงบนฮาร์ดแวร์ [BJ13] อาจเรียกได้ว่า Python เป็นภาษาลูกครึ่งและเรียนรู้ได้ง่าย เหตุผลที่ Python ทำการคอมไพล์เป็น Bytecode เป็นรหัสกลางไว้ก่อนนั้น นั่นก็เพราะ Python ถูกออกแบบมาให้เป็นภาษาการเขียนโปรแกรมที่ไม่ขึ้นกับแพลตฟอร์ม ซึ่งหมายความว่ามีการเขียนโปรแกรมหนึ่งครั้ง แต่สามารถเรียกใช้งานบนอุปกรณ์ใดก็ได้ แต่จะต้องติดตั้ง Python เวอร์ชันที่เหมาะสม

อัลกอริทึม (Algorithm) และ ผังงาน (Flowchart)

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

  1. ขั้นตอนที่หนึ่ง การนำเข้าข้อมูล

    • แจ้งให้ผู้ใช้ป้อนหมายเลขที่หนึ่ง

    • แจ้งให้ผู้ใช้ป้อนหมายเลขที่สอง

    • แจ้งให้ผู้ใช้ป้อนหมายเลขที่สาม

  2. ขั้นตอนที่สอง การประมวลผลข้อมูล

    • คำนวณผลรวมของเลขทั้งสามจำนวน

    • หารผลรวมด้วยสาม

  3. ขั้นตอนที่สาม การแสดงผลลัพธ์

    • แสดงผลลัพธ์ออกทางหน้าจอ

ส่วนผังงาน (Flowchart) เป็นการนำเสนอการไหลของอัลกอริทึมในรูปแบบของสัญลักษณ์จากคำสั่งหนึ่งไปยังอีกต่อไปจนถึงจุดสิ้นสุดของอัลกอริทึม [CLRS09] สัญลักษณ์ที่ใช้บ่อยสำหรับผังงานมีดังต่อไปนี้

../_images/flowchart.PNG

สัญลักษณ์ผังงาน (Flowchart)

ตัวอย่างการเขียนผังงานจากอัลกอริทึมด้านบนสามารถเขียนได้ดังนี้

../_images/flowchartexample.PNG

ตัวอย่างการเขียนผังงาน

การติดตั้งโปรแกรม Python Runtime

การติดตั้งโปรแกรม Python Runtime คือการติดตั้งโปรแกรมที่ทำให้นักพัฒนาซอฟต์แวร์สามารถใช้งานโปรแกรมที่เขียนขึ้นด้วยภาษา Python เองได้ ให้เข้าที่เว็บไซต์ https://www.python.org/ [Fou19] ไปที่ Download for Windows แล้วเลือก Python 3.7.0 แล้วทำการติดตั้งให้เรียบร้อยลงในเครื่อง และให้เลือก Add Python 3.7 To Path เพื่อที่จะสามารถใช้ Python ได้ที่ Command Line หลังจากนั้นจะเห็นได้ว่าที่สตาร์ทเมนูโปรแกรม Python 3.7 จะถูกสร้างขึ้น ในโฟลเดอร์นี้จะมีโปรแกรมชื่อว่า Idle ซึ่งเป็น Integrated Development Environment หรือ เครื่องมือที่ช่วยในการพัฒนาโปรแกรมที่ใช้งานง่ายๆ เหมาะแก่การเขียนโปรแกรมเบื้องต้น โดยจะมีทั้ง Text Editor และ Interactive Shell เวลาใช้งานควรเปิดไว้ 2 หน้าต่าง ด้านซ้ายมือเป็น Source code ด้านขวามือเป็น Python Shell เพื่อใช้ดูผลลัพธ์ในการ Run โปรแกรมที่เขียนขึ้น

../_images/downloadpython.PNG

การ Download Python 3.7

../_images/installpython.PNG

เลือก Add Python 3.7 to PATH

../_images/idle.PNG

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

../_images/idlescreen.PNG

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

../_images/shell.PNG

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