ผลต่างระหว่างรุ่นของ "ภาษาไพทอน"
ล →คุณสมบัติและปรัชญาการออกแบบ: Typo ป้ายระบุ: เครื่องมือแก้ไขต้นฉบับปี 2560 |
Updated infobox |
||
บรรทัด 5: | บรรทัด 5: | ||
{| class="infobox" style="width: 25em; text-align: left;" |
{| class="infobox" style="width: 25em; text-align: left;" |
||
|- |
|- |
||
| colspan = "2" style="text-align:center;" | [[ไฟล์:Python. |
| colspan = "2" style="text-align:center;" | [[ไฟล์:Python logo and wordmark.svg|alt=|278x278px]] |
||
|- |
|||
|- style="vertical-align:top;" |
|- style="vertical-align:top;" |
||
! [[กระบวนทัศน์การเขียนโปรแกรม]] |
|||
⚫ | |||
| หลากหลายรูปแบบ เช่นการเขียนโปรแกรมเชิงวัตถุ, หรือการเขียนโปรแกรมเชิงฟังก์ชัน |
|||
| [[พ.ศ. 2533]] |
|||
|- style="vertical-align:top;" |
|- style="vertical-align:top;" |
||
! ออกแบบโดย |
! ออกแบบโดย |
||
บรรทัด 16: | บรรทัด 17: | ||
| [[มูลนิธิซอฟต์แวร์ไพทอน]] |
| [[มูลนิธิซอฟต์แวร์ไพทอน]] |
||
|- style="vertical-align:top;" |
|- style="vertical-align:top;" |
||
⚫ | |||
⚫ | |||
| {{release date|df=yes|1990||}} |
|||
⚫ | | 3.8. |
||
⚫ | |||
⚫ | |||
⚫ | |||
|- style="vertical-align:top;" |
|- style="vertical-align:top;" |
||
! รุ่นกำลังพัฒนาล่าสุด |
|||
! เป็นพื้นฐานของ |
|||
| 3.9.0b5<br>{{release date|2020|7|20|df=yes}}<ref>{{cite web|url=https://www.python.org/downloads/release/python-390b5/|title=Python 3.9.0b5|website=Python.org|accessdate=20 July 2020}}</ref> |
|||
| [[Jython]], [[IronPython]] |
|||
|- |
|||
⚫ | |||
|[[ลินุกซ์]], [[วินโดวส์]], [[macOS]] และอื่นๆ |
|||
|- class="hiddenStructure{{{data 3}}}" style="vertical-align:top;" |
|- class="hiddenStructure{{{data 3}}}" style="vertical-align:top;" |
||
! มีอิทธิพลจาก |
! มีอิทธิพลจาก |
||
บรรทัด 28: | บรรทัด 35: | ||
| [[ภาษารูบี้|Ruby]], [[ภาษาบู|Boo]] |
| [[ภาษารูบี้|Ruby]], [[ภาษาบู|Boo]] |
||
|- style="vertical-align:top;" |
|- style="vertical-align:top;" |
||
⚫ | |||
⚫ | |||
⚫ | |||
| [[หลายระบบปฏิบัติการ]] |
|||
⚫ | |||
⚫ | |||
⚫ | |||
|- style="vertical-align:top;" |
|- style="vertical-align:top;" |
||
! เว็บไซต์ |
! เว็บไซต์ |
รุ่นแก้ไขเมื่อ 13:35, 24 กรกฎาคม 2563
ลิงก์ข้ามภาษาในบทความนี้ มีไว้ให้ผู้อ่านและผู้ร่วมแก้ไขบทความศึกษาเพิ่มเติมโดยสะดวก เนื่องจากวิกิพีเดียภาษาไทยยังไม่มีบทความดังกล่าว กระนั้น ควรรีบสร้างเป็นบทความโดยเร็วที่สุด |
กระบวนทัศน์การเขียนโปรแกรม | หลากหลายรูปแบบ เช่นการเขียนโปรแกรมเชิงวัตถุ, หรือการเขียนโปรแกรมเชิงฟังก์ชัน |
---|---|
ออกแบบโดย | คีโด ฟัน โรสซึม |
พัฒนาโดย | มูลนิธิซอฟต์แวร์ไพทอน |
เริ่มในปี | ค.ศ. 1990 |
รุ่นเสถียรล่าสุด | 3.8.5 20 มิถุนายน ค.ศ. 2020[1] |
รุ่นกำลังพัฒนาล่าสุด | 3.9.0b5 20 กรกฎาคม ค.ศ. 2020[2] |
ระบบปฏิบัติการ | ลินุกซ์, วินโดวส์, macOS และอื่นๆ |
มีอิทธิพลจาก | ABC, Perl, Lisp, Smalltalk, Tcl |
มีอิทธิพลต่อ | Ruby, Boo |
ลิขสิทธิ์ | ลิขสิทธิ์มูลนิธิซอฟต์แวร์ไพทอน |
เว็บไซต์ | www.python.org |
ภาษาไพทอน (Python programming language) หรืออีกชื่อที่คนไทยนิยมเรียกว่า ภาษาไพทอน เป็นภาษาระดับสูงซึ่งสร้างโดยคีโด ฟัน โรสซึม โดยเริ่มในปีพ.ศ. 2553 การออกแบบของภาษาไพทอนมุ่งเน้นให้ผู้โปรแกรมสามารถอ่านชุดคำสั่งได้โดยง่ายผ่านการใช้งานอักขระเว้นว่าง (whitespaces) จำนวนมาก นอกจากนั้นการออกแบบภาษาไพทอนและการประยุกต์ใช้แนวคิดการเขียนโปรแกรมเชิงวัตถุในตัวภาษายังช่วยให้นักเขียนโปรแกรมสามารถเขียนโปรแกรมที่เป็นระเบียบ อ่านง่าย มีขนาดเล็ก และง่ายต่อการบำรุง[3]
ไพทอนเป็นภาษาแบบไดนามิกซึ่งรองรับกระบวนทัศน์การเขียนโปรแกรมหลายรูปแบบ ซึ่งรวมถึงแต่ไม่จำกัดเพียงการเขียนโปรแกรมตามลำดับขั้น, การเขียนโปรแกรมเชิงวัตถุ, หรือการเขียนโปรแกรมเชิงฟังก์ชัน นอกจากนี้ไพทอนเป็นภาษาที่มักถูกอธิบายว่าเป็นภาษาโปรแกรมแบบ "มาพร้อมถ่าน" (batteries included) กล่าวคือไพทอนมาพร้อมกับไลบรารีมาตรฐานจำนวนมาก เช่นโครงสร้างข้อมูลแบบซับซ้อน และไลบรารีสำหรับคณิตศาสตร์
ไพทอนรุ่น 2.0 ซึ่งออกเมื่อปีค.ศ. 2000 มาพร้อมกับเครื่องมือภายในจำนวนมาก เช่นเครื่องมือการสร้างลิสต์ (list comprehension) และตัวเก็บขยะ (garbage collector) และไพทอนรุ่น 3.0 เป็นไพทอนรุ่นที่ได้รับการปรับปรุงและแก้ไขจำนวนมาก ทว่าความเปลี่ยนแปลงไนไพทอน 3 นั้นเป็นการเปลี่ยนแปลงที่ไม่เข้ากันแบบย้อนหลัง กล่าวคือชุดคำสั่งที่เขียนสำหรับไพทอน 2 อาจไม่ทำงานตามปกติเมื่อสั่งให้ทำงานบนตัวแปลภาษาของไพทอน 3
คุณสมบัติและปรัชญาการออกแบบ
ผู้ใช้ภาษาไพทอนสามารถเลือกกระบวนทัศน์การเขียนโปรแกรมตามที่ตนเองถนัดได้ โดยรองรับการเขียนโปรแกรมเชิงโครงสร้างและการเขียนโปรแกรมเชิงวัตถุอย่างเต็มรูปแบบ รวมถึงรองรับการเขียนโปรแกรมเชิงฟังก์ชัน (ทั้งในรูปแบบของการเขียนโปรแกรมเชิงลักษณะ และการเขียนโปรแกรมเชิงเมตาออบเจกต์) ส่วนขยายของไพทอนทำให้สามารถเขียนโปรแกรมด้วยกระบวนทัศน์อื่น เช่นการเขียนโปรแกรมเชิงตรรกะ
ไพทอนเก็บข้อมูลแบบไดนามิก (dynamic type) และใช้ขั้นตอนวิธีการนับการอ้างอิง (Reference counting) ประกอบรวมกับตัวเก็บขยะ (garbage collector) เพื่อจัดการหน่วยความจำ
ไพทอนมาพร้อมเครื่องมือสำหรับการเขียนโปรแกรมเชิงฟังก์ชั่นแบบที่พบในภาษาลิสป์ นอกจากนี้ไพทอนมีเครื่องมืออย่างเช่นฟังก์ชัน filter
map
และ reduce
, เครื่องมือการสร้างลิสต์ (list comprehension), แถวลำดับแบบจับคู่ (ในชื่อของ Dictionary), เซต และเครื่องมือสร้างการวนซ้ำ (generator)
แนวคิดและหลักการของไพทอนถูกสรุปในเอกสารชื่อว่า Zen of Python ซึ่งระบุหลักการของภาษาไว้เช่น
- สวยงามดีกว่าน่าเกลียด (Beautiful is better than ugly.)
- ชัดแจ้งดีกว่าซ่อนเร้น (Explicit is better than implicit.)
- เรียบง่ายดีกว่าซับซ้อน (Simple is better than complex.)
- ซับซ้อนดีกว่ายุ่งเหยิง(Complex is better than complicated.)
- ต้องใส่ใจการอ่านออกได้ง่าย(Readability counts.)
จุดเด่นของภาษาไพทอน
ความเป็นภาษาสคริปต์
เนื่องจากไพทอนเป็นภาษาสคริปต์ ทำให้ใช้เวลาในการเขียนและคอมไพล์ไม่มาก ทำให้เหมาะกับงานด้านการดูแลระบบ (System administration) เป็นอย่างยิ่ง มีการสนับสนุนภาษาไพทอนโดยเป็นส่วนหนึ่งของระบบปฏิบัติการยูนิกซ์, ลินุกซ์ และสามารถติดตั้งให้ทำงานเป็นภาษาสคริปต์ของวินโดวส์ ผ่านระบบ Windows Script Host ได้อีกด้วย
ไวยากรณ์ที่อ่านง่าย
ไวยากรณ์ของไพทอนได้กำจัดการใช้สัญลักษณ์ที่ใช้ในการแบ่งบล็อกของโปรแกรม และใช้การย่อหน้าแทน ทำให้สามารถอ่านโปรแกรมที่เขียนได้ง่าย นอกจากนั้นยังมีการสนับสนุนการเขียน docstring ซึ่งเป็นข้อความสั้น ๆ ที่ใช้อธิบายการทำงานของฟังก์ชัน, คลาส และโมดูลอีกด้วย
ความเป็นภาษากาว
ไพทอนเป็นภาษากาว (Glue Language) ได้อย่างดีเนื่องจากสามารถเรียกใช้ภาษาโปรแกรมอื่น ๆ ได้หลายภาษา ทำให้เหมาะที่จะใช้เขียนเพื่อประสานงานโปรแกรมที่เขียนในภาษาต่างกันได้
ตัวอย่างภาษาโปรแกรมไพทอน
ตัวอย่างด้านล่างเป็นตัวอย่างสำหรับโปรแกรมซึ่งเขียนด้วยภาษาไพทอน 3 ซึ่งมีโครงสร้างทางวากยสัมพันธ์ต่างจากไพทอน 2
โปรแกรมสวัสดีชาวโลก
print('Hello, world!')
โปรแกรมสำหรับการคำนวณเลขแฟกทอเรียลของจำนวนเต็มบวกใดๆ
# คำสั่งในบรรทัดด้านล่างรับเข้าตัวเลข ก่อนแปลงเป็นจำนวนเต็มบวก
# ชุดคำสั่ง `int()` ในไพทอนจะตัดทศนิยมทิ้งโดยอัตโนมัติ
n = int(input('กรุณาป้อนข้อมูลรับเข้าตัวเลขใดๆ เพื่อคำนวณค่าแฟกทอเรียล: '))
# หากตัวเลขมีค่าน้อยกว่า 0 ให้ทำการยกแสดงข้อผิดพลาด (error raising)
# โดยให้แสดงข้อผิดพลาดแบบ `ValueError` ขึ้นมา
if n < 0:
raise ValueError('คุณจำเป็นต้องป้อนจำนวนเต็มบวก')
# ประกาศค่าตั้งต้นของแฟกทอเรียล
fact = 1
# วนซ้ำสำหรับค่า i ตั้งแต่ 2 ถึง (n+1)
for i in range(2, n + 1):
# เทียบเท่ากับ fact = fact * i
fact *= i
# แสดงผลคำตอบ
print(fact)
ไพทอนในแพลตฟอร์มต่าง ๆ
ผู้เขียนโปรแกรมภาษาไพทอนสามารถเลือกใช้แพลตฟอร์ม
ซีไพทอน
ซีไพทอน (CPython) คือแพลตฟอร์มภาษาไพทอนดั้งเดิม โปรแกรมอินเทอร์พรีเตอร์ถูกเขียนโดยภาษาซี ซึ่งคอมไพล์ใช้ได้บนหลายระบบปฏิบัติการ เช่น วินโดวส์, ยูนิกซ์, ลินุกซ์ การใช้งานสามารถทำได้โดยการติดตั้งโปรแกรมอินเทอร์พรีเตอร์และแพ็คเกจที่จำเป็นต่าง ๆ
ไจธอน
ไจธอน (Jython) เป็นแพลตฟอร์มภาษาไพทอนที่ถูกพัฒนาบนแพลตฟอร์มจาวา เพื่อเพิ่มอำนวยความสะดวกในการใช้ความสามารถภาษาสคริปต์ของไพทอนลงในซอฟต์แวร์จาวาอื่น ๆ การใช้งานสามารถทำได้โดยการติดตั้งจาวาและเรียกไลบรารีของไจธอนซึ่งมาในรูปไบนารีเพื่อใช้งาน
ไพทอนดอตเน็ต
Python.NET เป็นการพัฒนาภาษาไพทอนให้สามารถทำงานบนดอตเน็ตเฟรมเวิร์กของไมโครซอฟท์ได้ โดยโปรแกรมที่ถูกเขียนจะถูกแปลงเป็น CLR ปัจจุบันมีโครงการที่นำภาษาไพทอนมาใช้บน .NET Framework ของไมโครซอฟท์แล้วคือโครงการ IronPython
ไลบรารีในไพทอน
การเขียนโปรแกรมในภาษาไพทอนโดยใช้ไลบรารีต่าง ๆ เป็นการลดภาระของโปรแกรมเมอร์ได้เป็นอย่างดี ทำให้โปรแกรมเมอร์ไม่ต้องเสียเวลากับการเขียนคำสั่งที่ซ้ำ ๆ เช่นการแสดงผลข้อมูลออกสู่หน้าจอ หรือการรับค่าต่าง ๆ
ไพทอนมีชุดไลบรารีมาตรฐานมาให้ตั้งแต่ติดตั้งอินเตอร์พรีเตอร์ นอกจากนั้นยังมีผู้พัฒนาจากทั่วโลกดำเนินการพัฒนาไลบรารีซึ่งช่วยอำนวยความสะดวกในด้านต่าง ๆ โดยจะเผยแพร่ในรูปแบบของแพ็คเกจต่าง ๆ ซึ่งสามารถติดตั้งเพิ่มเติมได้อีกด้วย
แพ็คเกจเพิ่มเติมที่น่าสนใจ
- wxPython: อีกทางเลือกหนึ่งสำหรับเขียนส่วนติดต่อกับผู้ใช้แบบกราฟิกส์ ซึ่งสามารถใช้ได้หลายระบบปฏิบัติการ
- SciPy: รวมโครงสร้างข้อมูลและการคำนวณต่าง ๆ ที่จำเป็นต้องใช้ในการเขียนโปรแกรมคำนวณทางวิทยาศาสตร์
- py2exe: ใช้สำหรับแปลงโปรแกรมที่เขียนในภาษาไพทอนให้อยู่ในรูปแบบของ ในระบบปฏิบัติการวินโดวส์
- PyWin32: ใช้สำหรับติดต่อเรียกใช้บริการบนระบบปฏิบัติการวินโดวส์และคลาสใน Microsoft Foundation Classes: MFC
- MySQLdb: ใช้สำหรับติดต่อกับระบบฐานข้อมูล MySQL
- psycopg2: ใช้สำหรับติดต่อกับระบบฐานข้อมูล โพสต์เกรสคิวเอล
- PyGTK: GTK+ สำหรับ Python ใช้สำหรับสร้างส่วนติดต่อกับผู้ใช้แบบกราฟิกส์ ซึ่งสามารถใช้ได้หลายระบบปฏิบัติการ
- PyQt: Qt สำหรับ Python ใช้สำหรับสร้างส่วนติดต่อกับผู้ใช้แบบกราฟิกส์ ซึ่งสามารถใช้ได้หลายระบบปฏิบัติการ
การนำไปใช้งาน
ด้วยความยืดหยุ่นของภาษาไพทอน และความเป็น ภาษาสคริปต์ทำให้มีการใช้งานไพทอนอย่างกว้างขวาง
ตัวแก้ไขสำหรับไพทอน
ผู้ใช้สามารถใช้ตัวแก้ไขข้อความทั่วไปในการแก้ไขโปรแกรมภาษาไพทอน นอกจากนั้นยังมี Integrated Development Environmentอื่น ๆ ให้เลือกใช้อีก อาทิ
- PyScripter: เป็นชุดเครื่องมือสำหรับพัฒนาภาษาไพทอน บนระบบปฏิบัติการวินโดวน์ ที่ให้ผู้ใช้สามารถนำไปใช้ฟรี (open source)
- Python IDLE: มีอยู่ในชุดอินเตอร์พรีเตอร์อยู่แล้ว สามารถเลือกติดตั้งได้
- PythonWin: เป็นตัวแก้ไขในชุดของ PyWin32
- ActivePython: จาก ActiveState (ล่าสุด รุ่น 2.5.1 )
- SPE (Stani's Python Editor) : เป็นตัวแก้ไขที่มาพร้อมกับตัวออกแบบยูสเซอร์อินเทอร์เฟส wxGlade และเครื่องมือสำหรับ Regular Expression มีระบบ Syntax Highlight และการจัดย่อหน้าตามวากยสัมพันธ์ของไพทอนให้อัตโนมัติพัฒนาขึ้นจากภาษาไพทอนดาวน์โหลดใช้งานได้ฟรีที่ http://spe.pycs.net
- WingIDE: ตัวแก้ไขที่มีระบบ Syntax Highlight และการจัดย่อหน้าตามไวยกรณ์ของไพทอนให้อัตโนมัติ แต่ไม่ใช่ฟรีแวร์
- Komodo: ตัวแก้ไขที่มีระบบ Syntax Highlight, การจัดย่อหน้าตามไวยกรณ์ของไพทอนให้อัตโนมัติและเติมคำอัตโนมัติ เป็นตัวแก้ไขจาก ActiveState อีกตัวหนึ่ง ไม่ใช่ฟรีแวร์
- Pydev: เป็น Python IDE สำหรับ Eclipse สามารถใช้พัฒนา Python, Jython และ Ironpython
- PyCharm: เป็น Python IDE ที่สร้างขึ้นโดยบริษัท JetBrains แบ่งออกเป็น 2 เวอร์ชัน ได้แก่ Community Edition (ใช้งานฟรี) และ Professional Edition (เสียเงินสามารถทดลองใช้ได้ 30 วัน) โดย Professional Edition จะเพิ่มความสามารถในการตรวจ syntax ของเฟรมเวิร์กที่ได้รับความนิยมที่ใช้งานร่วมกับภาษาไพทอน เช่น Django, Flask, Google App Engine เป็นต้น
องค์กรสำคัญที่ใช้ไพทอน
- กูเกิล ใช้ภาษาไพทอนในบริการหลายอย่าง เช่น จีเมล และ กูเกิลโลคอล กูเกิลแมพส์
ซอฟต์แวร์ที่เขียนด้วยไพทอน
- บิตทอร์เรนต์ (BitTorrent)
- Chandler โปรแกรมจัดการข้อมูลส่วนบุคคล
- บางส่วนของ GNOME
- บางส่วนของ Blender
- Mailman โปรแกรมจัดการจดหมายกลุ่ม (เมลลิ่งลิสต์)
- MoinMoin โปรแกรมวิกิ
- Portage ส่วนจัดการแพกเกจของ Gentoo Linux
- Zope แอปพลิเคชันเซิร์ฟเวอร์
- เทอร์โบเกียร์ กรอบงานขนาดใหญ่สำหรับพัฒนาโปรแกรมประยุกต์บนเว็บ
- Django กรอบงานขนาดใหญ่สำหรับพัฒนาโปรแกรมประยุกต์บนเว็บ
อ้างอิง
- ↑ "Python 3.5.0 Release". Python Software Foundation. สืบค้นเมื่อ 13 Sep 2015.
- ↑ "Python 3.9.0b5". Python.org. สืบค้นเมื่อ 20 July 2020.
- ↑ https://web.archive.org/web/20120623165941/http://cutter.rexx.com/~dkuhlman/python_book_01.html
แหล่งข้อมูลอื่น
- เว็บหลักของไพทอน (อังกฤษ)