ผลต่างระหว่างรุ่นของ "Python Programming/Python Interpreter"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 37: แถว 37:
 
  KeyboardInterrupt
 
  KeyboardInterrupt
 
  >>>
 
  >>>
 +
 +
กดปุ่ม Ctrl-D หรือพิมพ์คำสั่ง <tt>exit()</tt> เพื่อออกจากไพทอนเชลล์
 +
 +
>>> exit()  หรือกดปุ่ม Ctrl-D
 +
$
 +
 +
เห็นได้ว่าข้อดีของโหมดโต้ตอบคือทำให้เราเห็นผลลัพธ์การทำงานของแต่ละคำสั่งได้ทันทีโดยไม่ต้องเสียเวลาสร้างไฟล์และคอมไพล์โปรแกรม แต่ข้อจำกัดของโหมดนี้คือหากต้องการทดลองเปลี่ยนแปลงคำสั่งใดคำสั่งหนึ่งข้างต้นเพื่อดูผลกระทบต่อคำสั่งอื่นที่ตามมาจะต้องป้อนคำสั่งเหล่านี้ลงไปใหม่ทั้งหมด แม้ว่าการกดลูกศรขึ้น (&uarr;) จะทำให้ไพทอนเชลล์ดึงคำสั่งที่เคยป้อนลงไปกลับมาได้โดยไม่ต้องพิมพ์ใหม่ แต่หากต้องทำต่อเนื่องหลาย ๆ ครั้งก็ยังเป็นการเสียเวลาและไม่สะดวกเท่าใดนัก นอกจากนั้นเมื่อออกจากไพทอนเชลล์ไปแล้วคำสั่งที่เคยพิมพ์เอาไว้ทั้งหมดจะไม่สามารถถูกดึงกลับมาได้อีก
  
 
== การใช้งานไพทอนในโหมดสคริปต์ ==
 
== การใช้งานไพทอนในโหมดสคริปต์ ==

รุ่นแก้ไขเมื่อ 14:51, 3 ตุลาคม 2558

ภาษาไพทอนทำงานโดยการแปลคำสั่งทีละคำสั่งด้วยตัวแปลภาษาไพทอน (Python Interpreter) ซึ่งแตกต่างจากภาษาอื่นเช่น C หรือ Java ที่ต้องผ่านกระบวนการคอมไพล์เพื่อแปลคำสั่งทั้งหมดในคราวเดียวก่อนจึงจะเรียกใช้งานโปรแกรมได้ การสั่งงานคอมพิวเตอร์ด้วยภาษาไพทอนจึงสามารถทำได้ทั้งในโหมดโต้ตอบ (interactive mode) และโหมดสคริปต์ (script mode) นอกจากนั้นเครื่องมือบางอย่างเช่น Spyder หรือ Ipython Notebook สามารถช่วยให้เราใช้งานทั้งสองโหมดผสมผสานกันได้

การใช้งานไพทอนในโหมดโต้ตอบ

การใช้งานไพทอนในโหมดโต้ตอบทำได้โดยการเรียกคำสั่ง python โดยไม่ต้องระบุชื่อไฟล์ใด ๆ เพิ่มเติม ไพทอนจะแสดงรายละเอียดเวอร์ชันและข้อความทักทาย และเข้าสู่ไพทอนเชลล์โดยการแสดงการรอรับคำสั่งด้วยเครื่องหมายพร้อมพ์ ที่มีสัญลักษณ์เป็น >>>

$ ~/anaconda/bin/python
Python 2.7.10 |Anaconda 2.3.0 (64-bit)| (default, May 28 2015, 17:02:03) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://binstar.org
>>>

คำสั่งใด ๆ ที่ป้อนลงไปในไพทอนเชลล์จะถูกตีความและประมวลผลทันที

>>> 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
$

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

การใช้งานไพทอนในโหมดสคริปต์

การใช้งานไพทอนผ่าน IPython Notebook

http://nbviewer.ipython.org/