นอกจากนี้ใน mac หรือ linux มีวิธีตั้งให้รันโค้ดโดยตรงโดยพิมพ์แค่ชื่อไฟล์โค้ด รายละเอียดอ่านได้ใน //phyblas.hinaboshi.com/20190108
ข้อเสียอย่างหนึ่งของการรันโค้ดไพธอนผ่านคอมมานด์ไลน์ก็คือ เมื่อรันเสร็จโปรแกรมจะสิ้นสุดการทำงานทันที ตัวแปรทั้งหมดจะหายไป ไม่สามารถทำงานต่อเนื่องได้
และอีกอย่างคือ การรันไพธอนผ่านคอมมานด์ไลน์จะละเลย PYTHONSTARTUP ที่เอาไว้ตั้งโค้ดที่จะรันตอนเริ่มต้นไพธอน ด้วยวิธีดังที่แนะนำไปใน //phyblas.hinaboshi.com/20190107
หากพิมพ์แค่ python เฉยๆ ไม่ได้ตามด้วยชื่อไฟล์ แบบนี้จะเป็นการเปิดเชลโต้ตอบของไพธอนขึ้นมา
ป้อนค่าเพิ่มเติมเข้าไปให้โปรแกรมเวลารัน
ข้อดีของการรันไพธอนผ่านคอมมานด์ไลน์ก็คือ สามารถป้อนค่าเข้าไปให้โปรแกรม นอกเหนือจากที่เขียนอยู่ในโค้ด
ปกติแล้วเวลาที่รันไฟล์ ชื่อไฟล์ที่รันจะถูกเก็บอยู่ในตัวแปร sys.argv ซึ่งอยู่ในมอดูล sys (ต้อง import มาถึงใช้ได้)
เช่นลองสร้างไฟล์ขึ้น
# p.py import sys print(sys.argv)บันทึกแล้วพิมพ์รันในคอมมานด์ไลน์
python p.py
# ได้ ['p.py']
จะได้ว่า sys.argv เป็นลิสต์ที่มีสมาชิกอยู่ตัวเดียวคือชื่อไฟล์
แต่ว่าถ้าเราลองพิมพ์หาค่า sys.argv ดูในเชลโต้ตอบจะได้ลิสต์เปล่า
import sys print(sys.argv)# ได้ ['']
ที่เป็นแบบนี้เพราะว่าค่านี้จะมีเฉพาะเมื่อสั่งรันไฟล์
แต่ว่าหากลองไม่ใช่แค่พิมพ์ชื่อไฟล์เฉยๆ แต่ใส่อะไรต่อท้ายลงไป
python p.py ชิพกะเดลนี่สองพี่น้องขายของในคลอง
# ได้ ['p.py', 'ชิพกะเดลนี่สองพี่น้องขายของในคลอง']
จะเห็นว่าสิ่งที่ใส่ไปก็จะปรากฏเป็นค่าตัวที่สองใน sys.argv
ถ้าเว้นวรรคก็จะแยกเป็นหลายตัว
python p.py ชิพ กะ เดล
# ได้ ['p.py', 'ชิพ', 'กะ', 'เดล']
ด้วยความสามารถตรงนี้ ทำให้สามารถเขียนโปรแกรมที่ให้ผลต่างออกไปในการรันแต่ละครั้งโดยที่ไม่ต้องไปแก้ตัวโค้ดได้
ตัวอย่างเช่น โปรแกรมที่ให้บวกเลขทุกตัวที่ป้อนเข้าไปอาจเขียนแบบนี้
# บวกเลข.py import sys print(sum(map(int,sys.argv[1:])))python บวกเลข.py 5 6 1
# ได้ 12
เอาไปประยุกต์ใช้งานต่างๆได้มากมาย
ตัวเลือกเสริมของคำสั่ง python
เวลาใช้คำสั่ง python ในคอมมานด์ไลน์ ถ้าเติมตัวเลือกเสริมต่อเข้าไปจะทำให้ได้ผลต่างกันออกไป ทำอะไรต่างๆได้
ในที่นี้จะยกส่วนนึงมาให้ดู
เริ่มจาก ถ้าอยากได้ข้อมูลว่าคำสั่งไหนทำอะไรบ้างให้เติม -h หรือ --help
หรือ
หากอยากรู้เวอร์ชันของไพธอนที่ใช้อยู่สามารถเติม -V หรือ --version
python -V
# ได้ Python 3.7.1
หรือ
python --version
# ได้ Python 3.7.1
ระวังอย่าสับสนกับ -v เพราะตัวพิมพ์เล็กพิมพ์ใหญ่มีผลต่างกันหมด
ตัวเลือก -v นี้หมายถึงว่าให้เวลารันไพธอนมีการป้อนค่าตัวหนังสือบอกรายละเอียดออกมาเพิ่มมากกว่าปกติ เช่นเวลาเริ่มการทำงานไพธอนและสิ้นสุดการทำงาน
ในทางกลับกัน ตัวเลือก -q จะทำให้ปรากฏข้อความออกมาน้อยลง คือจะไม่แสดงเวอร์ชันและคำอธิบายลิขสิทธิ์ซึ่งมักจะโผล่ขึ้นมาทุกครั้งเวลาเปิดเชลโต้ตอบ
หากต้องการรันไพธอนโดยละเลยพวกตัวแปรสภาพแวดล้อมต่างๆที่เกี่ยวกับไพธอน เช่น PYTHONPATH ให้ใส่ -E
หากต้องการรันโค้ดไพธอนโดยไม่ต้องเขียนลงไฟล์ให้ใส่ตัวเลือก -c แล้วต่อด้วยโค้ดที่ต้องการ
python -c "print(1+2)"
# ได้ 3
ตัวสุดท้ายที่จะแนะนำคือ -B
ปกติเวลาที่รันมอดูลที่สร้างขึ้นมาใหม่เป็นครั้งแรกจะมีการสร้าง .pyc เป็นการทำ cache มอดูลไว้ รายละเอียดอ่านได้ที่ //phyblas.hinaboshi.com/tsuchinoko34
หากใส่ตัวเลือก -B จะทำให้ไม่มีการสร้างไฟล์ .pyc โดยอัตโนมัติเวลาที่ทำการ import มอดูล
มีผลทั้งเวลารันเชลโต้ตอบ (ไม่ใส่ชื่อไฟล์) และเวลารันไฟล์
นอกจากนี้ยังมีตัวเลือกเสริมอื่นๆอีกมากมาย ที่เหลือพิมพ์ python -h ดูได้
ใช้ ipython
หากใครมี ipython ก็สามารถพิมพ์ว่า ipython ในคอมมานด์ไลน์เพื่อเปิดเชลโต้ตอบในโหมดของ ipython ในนั้นได้
หลังจากติดตั้งเครื่องมือพื้นฐานในการพัฒนาโปรแกรมด้วยภาษา python กันไปในบทที่ 1 แล้วในบทนี้เราจะมาเริ่มต้นใช้งาน Python shell กันนะครับ โดย Python shell นี้จะทำการรับคำสั่งและรันคำสั่งเหมือนการใช้งานผ่าน Command prompt แต่จะต่างกันที่มี GUI ที่ช่วยให้ป้อนคำสั่งและตรวจสอบมาผลที่ออกมาได้ง่ายขึ้น
เปิดใช้งาน Python shell
Python shell หรือ IDLE (Integrated Development Environment) การทำงานของ Python shell นั้นสามารถใช้งานได้ 2 โหมดคือ
1. interactive เป็นการทำงานด้วยการรับทีละคำสั่งและแสดงผลในทันที
กิจกรรม
ให้นักเรียนทดลองพิมพ์คำสั่งต่อไปนี้ แล้ววิเคราะห์ผลลัพธ์ที่ได้
print (“5+5”)
print (5+5)
ตัวดำเนินการทางคณิตศาสตร์
ตัวดำเนินการความหมาย+บวก–ลบ*คูณ/หาร**ยกกำลัง//หารปัดเศษทิ้ง%เศษที่ได้จากการหารชนิดข้อมูล
ภาษาไพทอนมีการแบ่งประเภทของข้อมูลออกเป็นหลายประเภท โดยมีประเภทข้อมูลพื้นฐานคือ ข้อมูลประเภทข้อความ (String) และข้อมูลประเภทจำนวน (Numerical)
ข้อมูลประเภทข้อความ
การกำหนดข้อมูลที่เป็นข้อความหรือสตริงให้ใช้เครื่องหมายอัญประกาศครอบข้อความที่ต้องการกำหนด โดยเลือกใช้ได้ทั้งอัญประกาศเดี่ยว (‘) หรือคู่ (“) โดยกรณีที่มีข้อความยาวหลายบรรทัดต้องใช้ “ หรือ ‘ ติดต่อกัน 3 ตัว เช่น name = “’KRUI3’”
ข้อมูลชนิดจำนวน
ภาษาไพทอนมีข้อมูลจำนวนที่สามารถนำไปคำนวณทางคณิตศาสตร์ได้หลายชนิด อาทิ จำนวนเต็ม (integer หรือ int) สามารถเก็บค่าจำนวนเต็มบวกและจำนวนเต็มลบได้ และจำนวนจริง (float) สามารถเก็บค่าทั้งจำนวนจริงบวกและลบ ที่อยู่ในรูปแบบของทศนิยมได้
ตัวอย่างการใช้ข้อมูลชนิดจำนวน
ผลลัพธ์ที่ได้
กิจกรรม
ให้นักเรียนเขียนโปรแกรมด้วยภาษาไพทอนเพื่อคำนวณหาพื้นที่วงกลม ที่มีเส้นผ่านศูนย์กลางขนาด 5 เซนติเมตร
ตัวแปร
ตัวแปร (variable) ใช้ในการอ้างอิงค่าข้อมูล โดยตัวแปรจะถูกกำหนดค่าด้วยเครื่องหมาย =
ตัวอย่างการใช้คำสั่ง
ผลลัพธ์ที่ได้
กิจกรรม
ให้นักเรียนสร้างตัวแปรชื่อ name ที่มีค่าเป็น krui3.com แล้วใช้คำสั่ง print() เรียกตัวแปร name ให้แสดงผล
คำสั่งรับข้อมูล
input () เป็นคำสั่งชนิดฟังก์ชัน ทำหน้าที่รับข้อมูลเข้าที่ผู้ใช้ป้อนผ่านทางคีย์บอร์ด
ตัวอย่างการใช้คำสั่ง
ผลลัพธ์ที่ได้
อ้างอิง
ดาวน์โหลดโปรแกรม PyCharm Edu //www.jetbrains.com/pycharm-edu/download/#section=windows
Watsan Homsin, “แนะนำภาษา Python”, //marcuscode.com/lang/python/introduction, สืบค้นวันที่ 8 มิ.ย. 61
mindphp.com, “Python คืออะไร ไพธอน คือภาษา สำหรับเขียนโปรแกรมคอมพิวเตอร์ภาษาหนึ่ง
Python คืออะไร ไพธอน คือภาษา สำหรับเขียนโปรแกรมคอมพิวเตอร์ภาษาหนึ่ง”, //www.mindphp.com, สืบค้นวันที่ 8 มิ.ย. 61
Chai Phonbopit, “หัดเขียน Python เบื้องต้นฟรีด้วยโปรแกรม PyCharm Edu”, //devahoy.com/posts/learn-python-with-pycharm-edu/, สืบค้นวันที่ 9 มิ.ย. 61
สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 38