ผลต่างระหว่างรุ่นของ "Python Programming/Python Interpreter"
Chaiporn (คุย | มีส่วนร่วม) |
Chaiporn (คุย | มีส่วนร่วม) |
||
แถว 57: | แถว 57: | ||
$ python first.py | $ python first.py | ||
+ | Hello | ||
+ | 30 | ||
+ | |||
+ | หากไม่แน่ใจว่าการเรียกใช้คำสั่ง <tt>python</tt> ข้างต้นเป็นไพทอนของระบบปฏิบัติการหรือของ Anaconda ให้ลองใช้คำสั่ง <tt>which python</tt> เพื่อตรวจสอบว่าเป็นไพทอนตัวใด | ||
+ | |||
+ | $ which python | ||
+ | /usr/bin/python | ||
+ | |||
+ | หากผลลัพธ์เป็นไปตามข้างต้นแสดงว่าตัวแปลภาษาไพทอนที่เรียกใช้เป็นตัวที่ติดมาให้กับระบบปฏิบัติการ ทั้งนี้ผลลัพธ์ที่ได้อาจแตกต่างกันไปในแต่ละเครื่องหรือแต่ละผู้ใช้ ขึ้นอยู่กับการตั้งค่าตัวแปร <tt>PATH</tt> ของเชลล์ยูนิกซ์ที่ใช้อยู่ จึงควรป้อนพาธแบบเต็มไปยังไพทอนตัวที่ต้องการใช้จริง ๆ ตัวอย่างเชนหากต้องการรันไพทอนของ Anaconda เพื่อใช้งานไลบรารีที่ Anaconda จัดเตรียมไว้ให้ ควรต้องใช้คำสั่งด้านล่าง (สมมติว่า Anaconda ถูกติดตั้งไว้ภายใต้โฮมไดเรคตอรีของตนเอง) | ||
+ | |||
+ | $ ~/anaconda/bin/python first.py | ||
== การใช้งานไพทอนผ่าน IPython Notebook == | == การใช้งานไพทอนผ่าน IPython Notebook == | ||
http://nbviewer.ipython.org/ | http://nbviewer.ipython.org/ |
รุ่นแก้ไขเมื่อ 15:08, 3 ตุลาคม 2558
ภาษาไพทอนทำงานโดยการแปลคำสั่งทีละคำสั่งด้วยตัวแปลภาษาไพทอน (Python Interpreter) ซึ่งแตกต่างจากภาษาอื่นเช่น C หรือ Java ที่ต้องผ่านกระบวนการคอมไพล์เพื่อแปลคำสั่งทั้งหมดในคราวเดียวก่อนจึงจะเรียกใช้งานโปรแกรมได้ การสั่งงานคอมพิวเตอร์ด้วยภาษาไพทอนจึงสามารถทำได้ทั้งในโหมดโต้ตอบ (interactive mode) และโหมดสคริปต์ (script mode) นอกจากนั้นเครื่องมือบางอย่างเช่น Spyder หรือ Ipython Notebook สามารถช่วยให้เราใช้งานทั้งสองโหมดผสมผสานกันได้
การใช้งานไพทอนในโหมดโต้ตอบ
การใช้งานไพทอนในโหมดโต้ตอบทำได้โดยการเรียกคำสั่ง python โดยไม่ต้องระบุชื่อไฟล์ใด ๆ เพิ่มเติม ไพทอนจะแสดงรายละเอียดเวอร์ชันและข้อความทักทาย และเข้าสู่ไพทอนเชลล์โดยการแสดงการรอรับคำสั่งด้วยเครื่องหมายพร้อมพ์ ที่มีสัญลักษณ์เป็น >>>
$ python Python 2.7.3 (default, Jun 22 2015, 19:33:41) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
คำสั่งใด ๆ ที่ป้อนลงไปในไพทอนเชลล์จะถูกตีความและประมวลผลทันที
>>> print 'Hello' Hello
ไพทอนเชลล์จะแสดงค่าของนิพจน์ที่ป้อนลงไปแม้ว่าจะไม่เป็นคำสั่งที่สมบูรณ์ก็ตาม ตัวอย่างเช่น
>>> 3+5 8 >>> 'Hello' 'Hello'
ไพทอนอาจตีความได้ว่าคำสั่งหรือนิพจน์ที่ป้อนลงไปนั้นยังไม่สมบูรณ์ เช่นนิพจน์ที่ปิดวงเล็บไม่ครบ กรณีนี้ไพทอนจะยังไม่ประมวลผลคำสั่งแต่จะรอส่วนของคำสั่งเพิ่มเติมในบรรทัดถัดไปด้วยสัญลักษณ์ ...
>>> 3+(5* ... 2) 13
เราสามารถกดปุ่ม Ctrl-C ที่พร็อมพ์ ... เพื่อยกเลิกการป้อนคำสั่งที่ป้อนค้างไว้ได้
>>> 3+(5* ... กดปุ่ม Ctrl-C KeyboardInterrupt >>>
กดปุ่ม Ctrl-D หรือพิมพ์คำสั่ง exit() เพื่อออกจากไพทอนเชลล์
>>> exit() หรือกดปุ่ม Ctrl-D $
เห็นได้ว่าข้อดีของโหมดโต้ตอบคือทำให้เราเห็นผลลัพธ์การทำงานของแต่ละคำสั่งได้ทันทีโดยไม่ต้องเสียเวลาสร้างไฟล์และคอมไพล์โปรแกรม แต่ข้อจำกัดของโหมดนี้คือหากต้องการทดลองเปลี่ยนแปลงคำสั่งใดคำสั่งหนึ่งข้างต้นเพื่อดูผลกระทบต่อคำสั่งอื่นที่ตามมาจะต้องป้อนคำสั่งเหล่านี้ลงไปใหม่ทั้งหมด แม้ว่าการกดลูกศรขึ้น (↑) จะทำให้ไพทอนเชลล์ดึงคำสั่งที่เคยป้อนลงไปกลับมาได้โดยไม่ต้องพิมพ์ใหม่ แต่หากต้องทำต่อเนื่องหลาย ๆ ครั้งก็ยังเป็นการเสียเวลาและไม่สะดวกเท่าใดนัก นอกจากนั้นเมื่อออกจากไพทอนเชลล์ไปแล้วคำสั่งที่เคยพิมพ์เอาไว้ทั้งหมดจะไม่สามารถถูกดึงกลับมาได้อีก
การใช้งานไพทอนในโหมดสคริปต์
แทนที่จะให้ไพทอนทำงานทีละคำสั่งในโหมดโต้ตอบ เราสามารถรวมคำสั่งเหล่านี้เข้าด้วยกันเป็น บท หรือ สคริปต์ (script) ไว้ในไฟล์เพื่อสั่งให้ไพทอนทำงานรวดเดียวได้ ซึ่งเทียบเท่ากับการเขียนโปรแกรมในภาษาอื่น ๆ สคริปต์ไฟล์สามารถสร้างได้จากเอดิเตอร์ตัวใดก็ได้ โดยบันทึกชื่อไฟล์ให้มีนามสกุลเป็น .py ตัวอย่างเช่นไฟล์ hello.py ประกอบไปด้วยคำสั่ง
print 'Hello'
a = 3
b = 8
print a*2 + b*3
ใช้คำสั่ง python เพื่อรันสคริปต์ที่สร้างขึ้น
$ python first.py Hello 30
หากไม่แน่ใจว่าการเรียกใช้คำสั่ง python ข้างต้นเป็นไพทอนของระบบปฏิบัติการหรือของ Anaconda ให้ลองใช้คำสั่ง which python เพื่อตรวจสอบว่าเป็นไพทอนตัวใด
$ which python /usr/bin/python
หากผลลัพธ์เป็นไปตามข้างต้นแสดงว่าตัวแปลภาษาไพทอนที่เรียกใช้เป็นตัวที่ติดมาให้กับระบบปฏิบัติการ ทั้งนี้ผลลัพธ์ที่ได้อาจแตกต่างกันไปในแต่ละเครื่องหรือแต่ละผู้ใช้ ขึ้นอยู่กับการตั้งค่าตัวแปร PATH ของเชลล์ยูนิกซ์ที่ใช้อยู่ จึงควรป้อนพาธแบบเต็มไปยังไพทอนตัวที่ต้องการใช้จริง ๆ ตัวอย่างเชนหากต้องการรันไพทอนของ Anaconda เพื่อใช้งานไลบรารีที่ Anaconda จัดเตรียมไว้ให้ ควรต้องใช้คำสั่งด้านล่าง (สมมติว่า Anaconda ถูกติดตั้งไว้ภายใต้โฮมไดเรคตอรีของตนเอง)
$ ~/anaconda/bin/python first.py