Home Phython หนึ่งวันกับ IDLE (One Day of IDLE Toying)
formats

หนึ่งวันกับ IDLE (One Day of IDLE Toying)

Published on 17/09/2007 by in Phython

หนึ่งวันกับ IDLE

เอกสารแปลจาก ต้นฉบับภาษาอังกฤษ

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

และมันคงดีถ้าจะมีเอกสารแนะนำแบบเห็นภาพเพื่อลดความกัลวลในการเริ่มต้น และนั่นคือวัตถุประสงค์ของเว็บเพจนี้ แนวทางก็คือเราจะได้ใช้งานเล็กๆ น้อยๆ ด้วย IDLE: the Integrated Development Environment ซึ่งได้รับการออกแบบมาเพื่อให้ง่ายต่อการศึกษาภาษาไพธอน ในตัวอย่างนี้ผู้เขียนจะได้สร้างข้อผิดพลาดบางอย่าง เพื่อแสดงให้เห็นสิ่งที่จะเกิดขึ้นเมื่อทุกอย่างไม่เป็นไปอย่างที่ควรจะเป็น

อย่างไรก็ดีเอกสารนี้เป็นเอกสารแบบออนไลน์ หากคุณมีคำแนะนำใดๆ หรือคุณต้องการแก้ไขหรือปรับปรุงเอกสาร ก็ขอให้ส่งอีเมล์ถึงผู้เขียนได้ที่dyoo@hkn.eecs.berkeley.edu แต่อย่าลืมว่าแหล่งข้อมูลสำหรับไพธอนที่ดีมากๆ คือจดหมายTutor mailing list จากกลุ่มคนที่ชอบโชว์สิ่งที่น่าสนใจในไพธอนให้แก่กันและกัน เราเรียนรู้ด้วยกันดังนั้นขอให้สมัครเข้ามาร่วมกลุ่มกับเรา



เอาล่ะ เมื่อเราได้ติดตั้งไพธอนเรียบร้อยแล้ว (ถ้ายัง ให้เปิดเว็บhttp://python.org และดาวโหลดตัวแปลไพธอนตัวล่าสุด ในขณะที่แปลเอกสารนี้คือ Python 2.3) สิ่งแรกคือการเรียกไพธอนขึ้นมา เราสามารถทำได้โดยเรียก IDLE ซึ่งควรจะอยู่ในStart Menu ในกลุ่มโปรแกรมไพธอนที่เพิ่งสร้างขึ้นมาใหม่



เราจะเห็นหน้าต่างอันใหม่ขึ้นมา:
นี่คือหน้าต่างหลักของ IDLE และสิ่งที่เราเห็นในตอนนี้คือหน้าต่างของ “ตัวแปล”(Interpreter) บนตัวแปลนี้เราสามารถป้อนคำสั่งต่างๆ ลงไปให้กับไพธอนได้โดยตรง และเมื่อเราทำการป้อนคำสั่งลงไปไพธอนจะประมวลและแสดงผลลัพธ์ที่ได้ให้เราโดยทันที เราจะใช้หน้าต่างตัวแปลนี้อย่างสม่ำเสมอเมื่อเราทำการศึกษาภาษาไพธอน ข้อดีของมันคือมันส่งผลกลับมาให้เราโดยทันที นอกจากนี้เรายังสามารถใช้มันเป็นเครื่องคิดเลขที่มีประสิทธิภาพสูงมากๆ อันหนึ่ง



ตอนนี้เราลองมาใช้มันกันดู เอาแบบดั้งเดิมเราจะให้ไพธอนแสดงประโยคอมตะ “Hello World” เครื่องหมาย’>>>‘ เป็นจุดเริ่มสำหรับเรานั่นคือไพธอนพร้อมที่จะรับคำสั่งใหม่ เราจะเห็นว่าเมื่อเราป้อนคำสั่งไพธอนจะแสดงผลลัพธ์ออกมาทันที



คิดว่าคงง่ายพอควร เราจะลองคำสั่งอื่นๆ อีกสักสองสามอัน ถ้าเราดูภาพข้างล่างนี้:เราจะเห็นผลของการสั่งบางคำสั่ง ในตอนนี้อย่าเพิ่งไปกังวลกับหลักการเขียนโปรแกรม สิ่งที่สำคัญที่ต้องการให้รู้คือเราสามารถทำการทดลองด้วยการพิมพ์คำสั่งเข้าไป และถ้ามันไม่ทำงานแสดงว่าทำอะไรบางอย่างผิด ก็ลองทำใหม่อีกครั้งถ้าคุณทำมาถึงจุดนี้แล้วแสดงว่าคุณรู้วิธีการที่จะเล่นกับไพธอนได้พอสมควร ให้คุณเปิดเอกสารติวจากหน้า Python For Beginners แล้วลงมือศึกษากับตัวแปลนี้ดู



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

และเราจะได้ผลดังนี้

จะเห็นว่าในหน้าต่างใหม่จะไม่มีอะไรเลย นั่นคือไฟล์นั้นมีไว้สำหรับคำสั่งของเราเท่านั้น ไพธอนจะไม่แทรกผลตอบกลับใดๆ ที่เกิดขึ้นเมื่อเราเรียกโปรแกรมให้ทำงานนอกจากเราสั่งให้มันทำ เราจะเรียกหน้าต่างนี้ว่าหน้าต่าง “โปรแกรม” เพื่อแยกออกจากหน้าต่างตัวแปล



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


ทีนี้เราจะทำการเซฟไฟล์ดังกล่าว คำสั่งเซฟจะอยู่ในเมนู File :



เมื่อเราเซฟโปรแกรมเรียบร้อยแล้ว เราจะเรียกใช้โปรแกรมอย่างไรล่ะ ? ถ้าเราดูที่เมนูต่างในบนหน้าต่างโปรแกรมเราจะเห็นว่ามีตัวเลือกบนเมนูสำหรับ “Run script” และนั่นคือสิ่งที่เราต้องการ เราต้องการเห็นไพธอนเรียกใช้โปรแกรมและแสดงผลในหน้าต่างตัวแปลอย่างไรก็ดี สิ่งที่ต้องสังเกตคือผู้เขียนได้เขียนอะไรบางอย่างผิดไปในโปรแกรม เพราะไม่ได้ทำการก็อปปี้มา จะเกิดอะไรขึ้นกับโปรแกรม ?

อ้าว ! นี่เป็นตัวอย่างหนึ่งของสิ่งที่ไพธอนเรียกว่า “syntax error” ไพธอนมองเห็นสิ่งที่เราพิมพ์ผิดและเตือนเราให้ดูโปรแกรมของเราอีกครั้ง ผู้สร้างไพธอนคิดว่าการให้ระบบชี้ความผิดพลาดที่เกิดขึ้นดีกว่าการพยายามเดาว่าผู้เขียนโปรแกรมหมายถึงอะไร มีกฏอยู่จำนวนหนึ่งที่ไพธอนใช้ในการตัดสินว่าอะไรถูกต้องและอะไรดูน่าสงสัย เช่นเดียวกับเมื่อเราพูดถึงภาษาที่เราใช้พูดเราจะเข้าใจกฏเหล่านี้ หรือกล่าวได้ว่านั่นคือไวยากรณ์ของภาษานั่นเอง

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



สมมติว่าเราได้แก้ปัญหาการพิมพ์ผิดเรียบร้อยแล้ว เราจะลองเรียกใช้โปรแกรมอีกครั้งอีกแล้ว แต่ไม่ได้มีอะไรซับซ้อน แค่ IDE ต้องการให้เราเซฟโปรแกรมก่อนที่จะทำการเรียกใช้ และเป็นเรื่องของตัว IDLE เอง(หมายเหตุ: ปัจจุบัน IDLE จะเตือน พร้อมกับปุ่ม OK หรือ Cancel เพื่อเซฟแล้วทำงานต่อ หรือยกเลิกการเรียกใช้งาน

เราจะลองเรียกใช้งานอีกครั้ง หวังว่ามันควรจะทำงานได้ปรกติในครั้งนี้



เมื่อเราได้ใช้ไพธอนไปเรื่อยๆ เราจะพบว่าเราจะมีการสลับไปมาระหว่างหน้าต่างตัวแปลกับหน้าต่างโปรแกรม เนื่องจากเราสามารถใช้ตัวแปลเป็นเหมือนห้องทดลองขนาดเล็กและทดลองโปรแกรมเล็กๆ ก่อน เมื่อได้สิ่งที่พึงพอใจแล้ว (หรือเมื่อเหนื่อยแล้ว) เราจึงทำการเซฟสิ่งที่เราเรียนรู้ลงในไฟล์แน่นอนว่า เราคิดว่าเราสามารถที่จะโหลดเอาไฟล์ขึ้นมาอีกครั้ง มันคงเป็นเรื่องไร้สาระถ้าเซฟได้แต่โหลดขึ้นมาอีกไม่ได้ เราจะมาดูกัน และคงจบสำหรับวันนี้ ผู้เขียนจะทำการปิด IDLE ทุกอันและเริ่มจากสภาพเริ่มขึ้นเราจะเป็นคำสั่ง Open ในเมนู File :

และถ้าทุกอย่างเป็นไปด้วยดีเราจะเห็นหน้าต่างโปรแกรมเปิดขึ้นมา:

พร้อมกับโปรแกรมของเก่า เราเริ่มทำงานได้แล้ว

สิ่งเหล่านี้ค่อนข้างมากพอสำหรับที่จะใช้ IDLE ทำงานจริงๆ เอกสารแนะนำอันนี้ได้ละอีกหลายๆ ประเด็นใน IDLE เนื่องจาก IDLE นั้นเป็นมากกว่าแค่ editor แต่มันคงใช้เวลาพอสมควรที่จะศึกษาทุกๆความสามารถของมัน ดังนั้นเราจะเอาไว้เพียงแค่นี้ เว็บ IDLE Documentation จะอธิบายการใช้ IDLE ขั้นสูงสำหรับผู้ที่ยังไม่สิ้นความสงสัย อีกครั้งถ้าคุณมีคำถามขอให้แวะเขาไปที่ Python Tutor มีคนที่ยินดีคุยกับคุณเรื่องไพธอนอยู่เสมอ ผู้เขียนหวังว่าเอกสารนี้คงมีประโยชน์

(Thai translation by Pramote Khuwijitjaru)

No related posts.

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
No Comments  comments