นอกจากนี้ใน mac หรือ linux มีวิธีตั้งให้รันโค้ดโดยตรงโดยพิมพ์แค่ชื่อไฟล์โค้ด รายละเอียดอ่านได้ใน https://phyblas.hinaboshi.com/20190108 Show ข้อเสียอย่างหนึ่งของการรันโค้ดไพธอนผ่านคอมมานด์ไลน์ก็คือ เมื่อรันเสร็จโปรแกรมจะสิ้นสุดการทำงานทันที ตัวแปรทั้งหมดจะหายไป ไม่สามารถทำงานต่อเนื่องได้ และอีกอย่างคือ การรันไพธอนผ่านคอมมานด์ไลน์จะละเลย PYTHONSTARTUP ที่เอาไว้ตั้งโค้ดที่จะรันตอนเริ่มต้นไพธอน ด้วยวิธีดังที่แนะนำไปใน https://phyblas.hinaboshi.com/20190107 หากพิมพ์แค่ python เฉยๆ ไม่ได้ตามด้วยชื่อไฟล์ แบบนี้จะเป็นการเปิดเชลโต้ตอบของไพธอนขึ้นมา ป้อนค่าเพิ่มเติมเข้าไปให้โปรแกรมเวลารัน ข้อดีของการรันไพธอนผ่านคอมมานด์ไลน์ก็คือ สามารถป้อนค่าเข้าไปให้โปรแกรม นอกเหนือจากที่เขียนอยู่ในโค้ด ปกติแล้วเวลาที่รันไฟล์ ชื่อไฟล์ที่รันจะถูกเก็บอยู่ในตัวแปร sys.argv ซึ่งอยู่ในมอดูล sys (ต้อง import มาถึงใช้ได้) เช่นลองสร้างไฟล์ขึ้น
บันทึกแล้วพิมพ์รันในคอมมานด์ไลน์ python p.py จะได้ว่า sys.argv เป็นลิสต์ที่มีสมาชิกอยู่ตัวเดียวคือชื่อไฟล์ แต่ว่าถ้าเราลองพิมพ์หาค่า sys.argv ดูในเชลโต้ตอบจะได้ลิสต์เปล่า
ที่เป็นแบบนี้เพราะว่าค่านี้จะมีเฉพาะเมื่อสั่งรันไฟล์ แต่ว่าหากลองไม่ใช่แค่พิมพ์ชื่อไฟล์เฉยๆ แต่ใส่อะไรต่อท้ายลงไป python p.py ชิพกะเดลนี่สองพี่น้องขายของในคลอง จะเห็นว่าสิ่งที่ใส่ไปก็จะปรากฏเป็นค่าตัวที่สองใน sys.argv ถ้าเว้นวรรคก็จะแยกเป็นหลายตัว python p.py ชิพ กะ เดล ด้วยความสามารถตรงนี้ ทำให้สามารถเขียนโปรแกรมที่ให้ผลต่างออกไปในการรันแต่ละครั้งโดยที่ไม่ต้องไปแก้ตัวโค้ดได้ ตัวอย่างเช่น โปรแกรมที่ให้บวกเลขทุกตัวที่ป้อนเข้าไปอาจเขียนแบบนี้
python บวกเลข.py 5 6 1 เอาไปประยุกต์ใช้งานต่างๆได้มากมาย ตัวเลือกเสริมของคำสั่ง python เวลาใช้คำสั่ง python ในคอมมานด์ไลน์ ถ้าเติมตัวเลือกเสริมต่อเข้าไปจะทำให้ได้ผลต่างกันออกไป ทำอะไรต่างๆได้ ในที่นี้จะยกส่วนนึงมาให้ดู เริ่มจาก ถ้าอยากได้ข้อมูลว่าคำสั่งไหนทำอะไรบ้างให้เติม -h หรือ --help หรือ หากอยากรู้เวอร์ชันของไพธอนที่ใช้อยู่สามารถเติม -V หรือ --version python -V หรือ python --version ระวังอย่าสับสนกับ -v เพราะตัวพิมพ์เล็กพิมพ์ใหญ่มีผลต่างกันหมด ตัวเลือก -v นี้หมายถึงว่าให้เวลารันไพธอนมีการป้อนค่าตัวหนังสือบอกรายละเอียดออกมาเพิ่มมากกว่าปกติ เช่นเวลาเริ่มการทำงานไพธอนและสิ้นสุดการทำงาน ในทางกลับกัน ตัวเลือก -q จะทำให้ปรากฏข้อความออกมาน้อยลง คือจะไม่แสดงเวอร์ชันและคำอธิบายลิขสิทธิ์ซึ่งมักจะโผล่ขึ้นมาทุกครั้งเวลาเปิดเชลโต้ตอบ หากต้องการรันไพธอนโดยละเลยพวกตัวแปรสภาพแวดล้อมต่างๆที่เกี่ยวกับไพธอน เช่น PYTHONPATH ให้ใส่ -E หากต้องการรันโค้ดไพธอนโดยไม่ต้องเขียนลงไฟล์ให้ใส่ตัวเลือก -c แล้วต่อด้วยโค้ดที่ต้องการ python -c "print(1+2)" ตัวสุดท้ายที่จะแนะนำคือ -B ปกติเวลาที่รันมอดูลที่สร้างขึ้นมาใหม่เป็นครั้งแรกจะมีการสร้าง .pyc เป็นการทำ cache มอดูลไว้ รายละเอียดอ่านได้ที่ https://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 เซนติเมตร ตัวแปร
ตัวอย่างการใช้คำสั่ง ผลลัพธ์ที่ได้ กิจกรรมให้นักเรียนสร้างตัวแปรชื่อ name ที่มีค่าเป็น krui3.com แล้วใช้คำสั่ง print() เรียกตัวแปร name ให้แสดงผล คำสั่งรับข้อมูล
ตัวอย่างการใช้คำสั่ง ผลลัพธ์ที่ได้ อ้างอิง ดาวน์โหลดโปรแกรม PyCharm Edu https://www.jetbrains.com/pycharm-edu/download/#section=windows Watsan Homsin, “แนะนำภาษา Python”, http://marcuscode.com/lang/python/introduction, สืบค้นวันที่ 8 มิ.ย. 61 mindphp.com, “Python คืออะไร ไพธอน คือภาษา สำหรับเขียนโปรแกรมคอมพิวเตอร์ภาษาหนึ่ง Chai Phonbopit, “หัดเขียน Python เบื้องต้นฟรีด้วยโปรแกรม PyCharm Edu”, https://devahoy.com/posts/learn-python-with-pycharm-edu/, สืบค้นวันที่ 9 มิ.ย. 61 สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี, “เทคโนโลยี(วิทยาการคำนวณ)”, โรงพิมพ์แห่งจุฬาลงกรณ์มหาวิทยาลัย, ศูนย์หนังสือแห่งจุฬาลงกรณ์มหาวิทยาลัย, 2561 หน้า 38 Python IDE จะทำงานตามคำสั่งได้กี่โหมดไพทอน IDE จะทำงานตามคำสั่งได้ 2 โหมด คือ
โหมดอิมมีเดียท เป็นโหมดที่ผู้ใช้พิมพ์คำสั่งลงไปทีละคำสั่ง และตัวแปลภาษาไพทอนก็จะแปลคำสั่งนั้น ในกรณีที่ผู้ใช้เขียนคำสั่งต่าง ๆได้ถูกต้อง โปรแกรมก็จะแสดงผลลัพธ์ทันที แต่หากผู้ใช้เขียนคำสั่งผิด โปรแกรมก็จะขึ้นแจ้งเตือนผู้ใช้งาน
โหมดใดทำงานทีละคำสั่ง1. โหมดอิมมีเดียท (immediate mode) เป็นโหมดที่ผู้ใช้จะพิมพ์คำสั่งลงไปในส่วนที่เรียกว่าเชลล์ (shell) หรือคอนโซน (console) ทีละคำสั่ง และตัวแปลภาษาจะแปลคำสั่ง หากไม่มีข้อผิดพลาดจะทำงานตามคำสั่งดังกล่าว
โหมดที่ผู้ใช้งานต้องพิมพ์คำสั่งไพทอนหลายคำสั่งประกอบกันให้เป็นโปรแกรมที่สมบูรณ์เรียกว่าอะไรรู้จักไพทอน (Python)
2. โหมดสคริปต์ (script mode) ในโหมดนี้ผู้เขียนโปรแกรมต้องพิมพ์คำสั่งหลายคำสั่งประกอบกันแล้วบันทึกเป็นไฟล์ไว้ก่อน เพื่อจะสั่งให้ตัวแปลภาษาทำงานตามคำสั่งตั้งแต่คำสั่งแรก จนถึงคำสั่งสุดท้าย ถ้าหากต้องการตรวจสอบความถูกต้องสามารถใช้โหมดอิมมีเดียทในการทดสอบได้
ไพธอน ทำอะไรได้บ้างด้วยความสามารถของ Python ที่สามารถประมวลผลและถ่ายทอดงานที่ซับซ้อนออกมาได้เป็นอย่างดี และยังมี Library ที่สนับสนุนอยู่มาก จึงเป็นภาษาที่คนส่วนใหญ่นิยมนำไปประยุกต์ใช้กับศาสตร์แขนงอื่นๆได้อย่างง่ายดาย เช่น Machine learning Project อย่างการสร้าง emoji หน้าตัวเองด้วย Python หรือการ run code AI ก็จะมีประสิทธิภาพและรวดเร็วมาก ...
|