ผลต่างระหว่างรุ่นของ "ภาษาไพทอน"

จากวิกิพีเดีย สารานุกรมเสรี
เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Sirakorn (คุย | ส่วนร่วม)
ป้ายระบุ: เครื่องมือแก้ไขต้นฉบับปี 2560
Sirakorn (คุย | ส่วนร่วม)
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.png|150px]]
| 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.1<br>{{release date|df=yes|2019|12|18}}<ref>{{cite web |url=https://www.python.org/downloads/release/python-350/ |title=Python 3.5.0 Release |publisher=Python Software Foundation |accessdate=13 Sep 2015}}</ref><br>2.7.17 <br>{{release date|df=yes|2019|10|19}}<ref>{{cite web |https://www.python.org/downloads/release/python-2710/ |title=Python 2.7.10 Release |publisher=Python Software Foundation |accessdate=23 May 2015}}</ref>
|- style="vertical-align:top;"
! รุ่นเสถียรล่าสุด
| 3.8.5<br>{{release date|df=yes|2020|6|20}}<ref>{{cite web |url=https://www.python.org/downloads/release/python-350/ |title=Python 3.5.0 Release |publisher=Python Software Foundation |accessdate=13 Sep 2015}}</ref>
|- 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;"
|- style="vertical-align:top;"
! เว็บไซต์
! เว็บไซต์

รุ่นแก้ไขเมื่อ 13:35, 24 กรกฎาคม 2563

กระบวนทัศน์การเขียนโปรแกรม หลากหลายรูปแบบ เช่นการเขียนโปรแกรมเชิงวัตถุ, หรือการเขียนโปรแกรมเชิงฟังก์ชัน
ออกแบบโดย คีโด ฟัน โรสซึม
พัฒนาโดย มูลนิธิซอฟต์แวร์ไพทอน
เริ่มในปี ค.ศ. 1990 (1990)
รุ่นเสถียรล่าสุด 3.8.5
20 มิถุนายน ค.ศ. 2020 (2020-06-20)[1]
รุ่นกำลังพัฒนาล่าสุด 3.9.0b5
20 กรกฎาคม ค.ศ. 2020 (2020-07-20)[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) เพื่อจัดการหน่วยความจำ

ไพทอนมาพร้อมเครื่องมือสำหรับการเขียนโปรแกรมเชิงฟังก์ชั่นแบบที่พบในภาษาลิสป์ นอกจากนี้ไพทอนมีเครื่องมืออย่างเช่นฟังก์ชัน filtermap และ 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

ไลบรารีในไพทอน

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

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

แพ็คเกจเพิ่มเติมที่น่าสนใจ

การนำไปใช้งาน

ด้วยความยืดหยุ่นของภาษาไพทอน และความเป็น ภาษาสคริปต์ทำให้มีการใช้งานไพทอนอย่างกว้างขวาง

ตัวแก้ไขสำหรับไพทอน

ผู้ใช้สามารถใช้ตัวแก้ไขข้อความทั่วไปในการแก้ไขโปรแกรมภาษาไพทอน นอกจากนั้นยังมี 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 กรอบงานขนาดใหญ่สำหรับพัฒนาโปรแกรมประยุกต์บนเว็บ

อ้างอิง

  1. "Python 3.5.0 Release". Python Software Foundation. สืบค้นเมื่อ 13 Sep 2015.
  2. "Python 3.9.0b5". Python.org. สืบค้นเมื่อ 20 July 2020.
  3. https://web.archive.org/web/20120623165941/http://cutter.rexx.com/~dkuhlman/python_book_01.html

แหล่งข้อมูลอื่น