Python เป็นภาษาเขียนโปรแกรมระดับสูงที่ใช้กันอย่างกว้างขวางในการเขียนโปรแกรมสำหรับวัตถุประสงค์ทั่วไป ภาษา Python นั้นสร้างโดย Guido van Rossum และถูกเผยแพร่ครั้งแรกในปี 1991 Python นั้นเป็นภาษาแบบ interpret ที่ถูกออกแบบโดยมีปรัญชาที่จะทำให้โค้ดอ่านได้ง่ายขึ้น และโครงสร้างของภาษานั้นจะทำให้โปรแกรมเมอร์สามารถเข้าใจแนวคิดการเขียนโค้ดโดยใช้บรรทัดที่น้อยลงกว่าภาษาอย่าง C++ และ Java ซึ่งภาษานั้นถูกกำหนดให้มีโครงสร้างที่ตั้งใจให้การเขียนโค้ดเข้าใจง่ายทั้งในโปรแกรมเล็กไปจนถึงโปรแกรมขนาดใหญ่ Python นั้นมีคุณสมบัติเป็นภาษาเขียนโปรแกรมแบบไดนามิกส์และมีระบบการจัดการหน่วยความจำอัตโนมัติและสนับสนุนการเขียนโปรแกรมหลายรูปแบบ ที่ประกอบไปด้วย การเขียนโปรแกรมเชิงวัตถุ imperative การเขียนโปรแกรมแบบฟังก์ชัน และการเขียนโปรแกรมแบบขั้นตอน มีไลบรารี่ที่ครอบคลุมการทำงานอย่างหลากหลาย ตัวแปรในภาษา Python นั้นมีให้ใช้ในหลายระบบปฏิบัติการ ทำให้โค้ดของภาษา Python สามารถรันในระบบต่างๆ ได้อย่างกว้างขวาง CPython นั้นเป็นการพัฒนาในขั้นตั้นของ Python ซึ่งเป็นโปรแกรมแบบ open source และมีชุมชนสำหรับเป็นต้นแบบในการพัฒนา เนื่องจากมันได้มีการนำไปพัฒนากระจายไปอย่างหลากหลาย CPython นั้นจึงถูกจัดการโดยองค์กรไม่แสวงหาผลกำไรอย่าง Python Software Foundation
สำหรับโปรแกรม Python สามารถดาวน์โหลดที่ https://www.python.org/ ซึ่งมีให้ทั้งระบบปฎิบัติ Windows และ Mac OS X ในที่นี้แนะนำให้ดาวน์โหลด version 3.0 ขึ้นไปมาใช้ ในการอบรม Python ครั้งนี้จะใช้โปรแกรมฟรี คือ Anaconda distribution ซึ่งมีขนาดเล็กและง่ายต่อการใข้งาน โดยdistribution ตัวนี้จะรวม Python ไลบรารี่ต่างๆ และ Jupyter notebook เป็นโปรแกรมที่ง่ายต่อการใช้งานสามารถใช้ได้กับ Windows Mac Os X และ Linux สามารถดาวน์โหลดได้ที่ www.anaconda.com/downloads ให้เลือกดาวน์โหลด Python 3.6 version 32 bit หรือ 64 bit ดูระบบปฎิบัติการของเครื่องเราอีกที สามารถดูขั้นตอนการติดตั้ง โดยคลิ๊กที่ How to install Anaconda หลังจากติดตั้งแล้วเรียกใช้โปรแกรม Anaconda Navigator
อย่างไรก็ตามในการรัน Python Code จะมี environment ที่ให้ผู้ใช้เลือกใช้ในการรันโค๊ดอยู่ 3 ประเภทใหญ่ๆ คือ
- Text Editors เช่น โปรแกรม Sublime Text (www.sublimetext.com) และ โปรแกรม Atom สามารถทำงานกับชนิดไฟล์หลายชนิด เช่น .Javascript .txt .ipynb เป็นต้น
- Full IDEs โปรแกรมที่นิยมใช้เช่น PyCharm และ Spyder แต่โปรแกรมค่อนข้างมีขนาดใหญ่
- Notebook Environments โปรแกรมที่นิยมคือ Jupyter Notebook ซึ่งง่ายต่อผู้เริ่มต้นเรียน สามารถใช้กับไฟล์หลายชนิด ยกเว้น .py
ในการอบรมครั้งนี้ ได้เลือกใช้ Jupyter Notebook ในการรันโค๊ด Python ซึ่งง่ายต่อผู้เริ่มต้นเรียน เมื่อทำการเรียกใช้โปรแกรม Jupyter Notebook งานให้สังเกตที่บราวเซอร์จะทำการรันอัตโนมัติไปที่ localhost แต่ถ้าไม่เปิดให้อัตโนมัติ ให้ทำการพิมพ์ localhost:8888 หรือ 8889 ลงไป ไม่ต้องการการเชื่อมต่ออินเทอร์เนตในการรัน
- ห้ามมีการเว้นวรรคในชื่อ ต้องเป็นอักษรติดกัน
- ห้ามใช้สัญลักษณ์พิเศษ เช่น ~!@#$%^&*()-=+`\|<>?,./:;'"[]{}
- สัญลักษณ์ที่ใช้ได้มีแค่สัญลักษณ์ขีดล่าง _ มักเอาไว้ใช้แทนการเว้นวรรคเนื่องจากชื่อตัวแปรห้ามมีเว้นวรรค เช่น dot_A
แทนที่จะเป็น dot A
- สามารถประกอบด้วยตัวเลขได้ เช่น ak47, AKB48, nogisaka46
- แต่ตัวเลขต้องไม่ใช่ตัวขึ้นต้น เช่น 07show แบบนี้ไม่ได้
- อักษรโรมันตัวพิมพ์เล็กและพิมพ์ใหญ่ถือเป็นคนละตัวกัน เช่น PYTHON, PyThOn, Python, python ถือเป็นตัวแปร
คนละตัวกันหมด
- ห้ามซ้ำกับคำสงวน เพราะคำเหล่านั้นมีความหมายพิเศษในภาษาไพธอน
- ชนิดตัวชนิดข้อมูล ใน Python
ชนิดข้อมูลในภาษา Python นั้น หลักๆเราแบ่งได้เป็นสองประเภท คือ ชนิดข้อมูลแบบเปลี่ยนแปลงได้ (Mutable Types) และชนิดข้อมูลแบบเปลี่ยนแปลงไม่ได้ (Immutable Types) ชนิดข้อมูลประกอบไปด้วย
1. Interger คือเลขจำนวนเต็ม เช่น 100, 25
2. Float คือเลขจำนวนจริง หรือจุดทศนิยม เช่น 3.45, 0.05
3. Str (String) เป็นตัวแปรประเภทข้อความ จะมีการจัดเก็บเรียงต่อกันในภาษา Python นั้นการที่จะประกาศ String ค่าของมันจะอยู่ในเครื่องหมาย Double quote หรือ Single quote เท่านั้น ข้อมูลประเภทข้อความเป็นตัวอย่างของชนิดข้อมูลแบบ Immutable เราเข้าถึงค่าข้อมูลของมันได้ แต่ไม่สามารถแก้ไขได้ เช่น print(" Hello world")
4. List เป็นตัวแปรประเภทหนึ่ง การใช้งานของมันจะเหมือนกันอาเรย์ในภาษาอื่นๆ ในการประกาศ List นั้นข้อมูลของมันจะอยู่ภายในเครื่องหมาย [] และคั่นสมาชิกแต่ละตัวด้วยเครื่องหมายคอมมา , การเข้าถึงข้อมูลใน list นั้นใช้ Index สำหรับการเข้าถึงข้อมูล โดย Index ของ List จะเป็นจำนวนเต็มที่เริ่มจาก 0 และเพิ่มขึ้นทีละ 1 ไปเรื่อยๆ ดังนั้น เราจึงสามารถเข้าถึงข้อมูลภายใน List เพื่ออ่านหรืออัพเดทค่าได้โดยตรงผ่าน Index ของมัน นี่เป็นโค้ดการเข้าถึงข้อมูลภายใน List ในภาษา Python นอกจากนี้ เป็นชนิดข้อมูลแบบ Sequential Types ที่มีความสามารถในการเปลี่ยนแปลงค่าได้ Mutable เราจึงสามารถแก้ไข เพิ่ม หรือลบ ข้อมูลออกจากลิสต์ได้ มาดูตัวอย่างการประกาศ List ในภาษา Python เช่น My_list = ['one', 'two', 'three']
5. Tuple จะข้อมูลแบบ Sequential Types คล้ายกับ List แต่สิ่งที่แตกต่างกันคือ Tuple นั้นเป็นประเภทข้อมูลที่ไม่สามารถเปลี่ยนแปลงได้ (Immutable) หรือกล่าวอีกนัยหนึ่ง หลังจากที่ประกาศตัวแปรและกำหนดค่าให้กับ Tuple แล้ว มันจะไม่สามารถเปลี่ยนแปลงค่าได้ในภายหลัง ในขณะที่ List สามารถทำได้ การประกาศ Tuple นั้นสามารถทำได้หลายวิธี รูปแบบพื้นฐานของมันคือสมาชิกของ Tuple ทุกตัวจะอยู่ภายในวงเล็บ () และคั่นสมาชิกแต่ละตัวด้วยเครื่องหมายคอมมา (,) ในการเข้าถึงสมาชิกภายใน Tuple นั้นจะใช้ Index เช่นเดียวกับ List โดยสมาชิกตัวแรกจะมี Index เป็นศูนย์ และสำหรับสมาชิกตัวต่อไปจะเพิ่มขึ้นทีละ 1 Tuple มักจะใช้กับประเภทข้อมูลที่แตกต่างกันและสมาชิกของมันจะไม่สามารถเปลี่ยนแปลงค่าได้ เช่น t= ('a', 'b', 'c')
6. Dic ( Dictionary) คือประเภทข้อมูลที่เก็บข้อมูลในรูปแบบคู่ของ Key และ Value โดยที่ Key ใช้สำหรับเป็น Index ในการเข้าถึงข้อมูลและ Value เป็นค่าข้อมูลที่สอดคล้องกับ Key ของมัน การเข้าถึงข้อมูลใน Dictionary นั้นรวดเร็วเพราะว่าข้อมูลได้ถูกทำ Index ไว้อัตโนมัติโดยใช้ Key นอกจากนี้ Dictionary ยังมีเมธอดและฟังก์ชันอำนวยความสะดวกสำหรับการทำงานทั่วไป ในการใช้งาน Dictionary เรามักจะใช้เก็บข้อมูลที่สามารถใช้บางอย่างที่สามารถจำแนกข้อมูลออกจากกันได้ โดยกำหนดให้สิ่งนั้นเป็น Key ในการประกาศ Dictionary สมาชิกของมันจะอยู่ภายในวงเล็บปีกกา {} การเข้าถึงข้อมูลเพื่ออ่านและอัพเดทข้อมูลโดยผ่านทาง Key ของมัน เช่น my_dict={'key1':1.25, 'key2':5.80}
7. Set ใช้ในการเก็บข้อมูลที่เป็นกลุ่ม แต่สมาชิกภายในเซตจะไม่ซ้ำกัน เช่น mylist ={1,2,3}
8. Bool (Boolean True/False) ใช้ในการเก็บข้อมูลอมูลมีค่าเป็นเพียง 2 แบบ คือจริงกับเท็จเท่านั้น
การเขียนประโยคคำสั่ง จะคล้ายคลึงกับ โปรแกรมทั่วไป โดยมีการใช้ if Elif /Else ในการสร้างเงื่อนไขในการทำงาน การใช้คำสั่ง For Loops และ While Loops การใช้ List ในการเปรียบเทียบในประโยคคำสั่ง
สามารถดูเอกสารเพิ่มเติมได้โดยคลิกที่นี้ หรือเรียนcourse online ได้ที่ www.udemy.com
เรียบเรียงบทความโดย
อ.ดร.วรรณวิมล นาดี
สาขาวิชาเทคโนโลยีสารสนเทศ
คณะวิทยาศาสตร์