ภาษาไพทอน

120 languages

From WikiRecord, the encyclopedia of everything · from the Thai Wikipedia

ภาษาไพทอน
กระบวนทัศน์พหุกระบวนทัศน์: เชิงวัตถุ,[1] เชิงกระบวนความ (เชิงคำสั่ง), เชิงฟังก์ชัน, เชิงโครงสร้าง, เชิงสะท้อนลักษณ์
ออกแบบโดยคีโด ฟัน รอสซึม
ผู้พัฒนาPython Software Foundation
ปรากฏครั้งแรก20 กุมภาพันธ์ 1991 (1991-02-20)[2]
รุ่นเสถียร
3.15.2[3] แก้ไขบนวิกิสนเทศ / 26 ตุลาคม 2026 (26 ตุลาคม 2026)
รุ่นทดสอบ
3.15.0a1 / 18 สิงหาคม 2025 (2025-08-18)
การกำหนดชนิดตัวแปรเป็ด, พลวัต, เข้มข้น;[4] การระบุชนิดข้อมูลทางเลือก[a]
การจัดการหน่วยความจำเก็บขยะอัตโนมัติ
โอเอสข้ามแพลตฟอร์ม[b]
สัญญาอนุญาตPython Software Foundation License
นามสกุลไฟล์.py,[11] .pyc,[12] .pyd,[13] .pyi,[14] .pyw,[15] .pyz[16]
เว็บไซต์python.org
ตัวแปลภาษาหลัก
CPython, PyPy, MicroPython, CircuitPython, IronPython, Jython, Stackless Python
ภาษาถิ่น
Cython, RPython, Starlark[17]
ได้รับอิทธิพลจาก
ABC,[18] Ada,[19] ALGOL 68,[20] APL,[21] C,[22] C++,[23] CLU,[24] Dylan,[25] Haskell,[26][21] Icon,[27] Lisp,[28] Modula-3,[20][23] Perl,[29] Standard ML[21]
มีอิทธิพลต่อ
Apache Groovy, Boo, Cobra, CoffeeScript,[30] D, F#, GDScript, Go, JavaScript,[31][32] Julia,[33] Mojo,[34] Nim, Ruby,[35] Swift,[36] V[37]

ไพทอน (อังกฤษ: Python) เป็นอินเทอร์พรีเตอร์ภาษาระดับสูง ซึ่งสร้างโดยคีโด ฟัน รอสซึม โดยเริ่มใน ค.ศ. 1990 การออกแบบของภาษาไพทอนมุ่งเน้นให้ผู้โปรแกรมสามารถอ่านชุดคำสั่งได้โดยง่ายผ่านการใช้งานอักขระเว้นว่าง (whitespaces) จำนวนมาก นอกจากนั้นการออกแบบภาษาไพทอนและการประยุกต์ใช้แนวคิดการเขียนโปรแกรมเชิงวัตถุในตัวภาษายังช่วยให้นักเขียนโปรแกรมสามารถเขียนโปรแกรมที่เป็นระเบียบ อ่านง่าย มีขนาดเล็ก และง่ายต่อการบำรุง[38]

ไพทอนเป็นภาษาแบบไดนามิกพร้อมตัวเก็บขยะ ไพทอนรองรับกระบวนทัศน์การเขียนโปรแกรมตามลำดับขั้น การเขียนโปรแกรมเชิงวัตถุ หรือการเขียนโปรแกรมเชิงฟังก์ชัน นอกจากนี้ไพทอนเป็นภาษาที่มักถูกอธิบายว่าเป็นภาษาโปรแกรมแบบ "มาพร้อมถ่าน" (batteries included) กล่าวคือไพทอนมาพร้อมกับไลบรารีมาตรฐานจำนวนมาก เช่น โครงสร้างข้อมูลแบบซับซ้อน และไลบรารีสำหรับคณิตศาสตร์

ไพทอนมักถูกมองว่าเป็นภาษาที่สร้างต่อจากภาษา ABC โดยไพทอน 2.0 ซึ่งออกเผยแพร่เมื่อ ค.ศ. 2000 มาพร้อมกับเครื่องมือสำหรับการเขียนโปรแกรมจำนวนหนึ่ง อย่างเช่น ตัวสร้างแถวรายการ (list comprehension)

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

ไพทอนรุ่น 2.0 หมดการสนับสนุนอย่างเป็นทางการใน ค.ศ. 2020 โดยการหมดการสนับสนุนนี้ถูกวางแผนตั้งแต่ ค.ศ. 2015 และไพทอนรุ่น 2.7.18 เป็นไพทอนรุ่น 2.7 และรุ่นตระกูล 2.0 ตัวสุดท้ายที่ออกเผยแพร่[39] โดยหลังจากนี้จะไม่มีการสนับสนุนความปลอดภัยหรือการปรับปรุงอื่นใดเพิ่มเติมสำหรับภาษาไพทอนรุ่น 2.0 อีก[40][41]

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

คุณสมบัติและปรัชญาการออกแบบ


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

ไพทอนเก็บข้อมูลแบบไดนามิก (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.)

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

โครงสร้างทางวากยสัมพันธ์ (syntax) ของภาษาไพทอนมุ่งเน้นความเรียบง่ายและไม่ยุ่งเหยิง ในขณะเดียวกันยังคงให้อิสระกับนักพัฒนาโปรแกรมในการเลือกวิธีการเขียนโปรแกรมได้เอง ปรัชญาการออกแบบนี้ของไพทอนอยู่บนความเชื่อที่ว่า "ควรจะมีทางเดียว—และทางเดียวเท่านั้น—ในการทำอะไรสักอย่าง" ("there should be one—and preferably only one—obvious way to do it") ซึ่งตรงกันข้ามกับแนวคิดการออกแบบของภาษาเพิร์ลที่เชื่อว่า "เราควรทำอะไรได้มากกว่าหนึ่งวิธี" ("There's more than one way to do it") หากจะกล่าวให้ละเอียด อะเล็กซ์ มาร์เตลลี ผู้เขียนตำราภาษาไพทอน และสมาชิกของมูลนิธิซอฟต์แวร์ไพทอน กล่าวว่า "ในวัฒนธรรมของไพทอน การอธิบายว่า[วิธีการเขียนโปรแกรม]บางอย่างนั้นฉลาดมากไม่ถือเป็นคำชม"

นักพัฒนาโปรแกรมที่ใช้ภาษาไพทอนมักพยายามหลีกเลี่ยงการปรับปรุงประสิทธิภาพก่อนถึงเวลาอันควร (premature optimisation) และมักปฏิเสธการรวมโค้ดของโครงการ CPython ที่ต้องแลกประสิทธิภาพที่เพิ่มขึ้นมาเล็กน้อยกับความอ่านยากของโค้ด โดยเมื่อต้องเขียนชุดคำสั่งที่เวลาประมวลผลเป็นเรื่องสำคัญ นักพัฒนาโปรแกรมไพทอนจะนิยมเขียนส่วยขยายของโปรแกรมนั้นด้วยภาษา C แยกออกมา หรือใช้ PyPy ซึ่งเป็นตัวแปลภาษาแบบในเวลา (Just-in-time compiler) สำหรับภาษาไพทอน นอกจากนี้นักพัฒนายังมีตัวเลือกอื่นเช่นการใช้ไซทอนซึ่งเป็นตัวแปลรหัสคำสั่งจากภาษาไพทอนไปเป็นภาษาซี

หนึ่งในเป้าหมายสำคัญของภาษาไพทอนคือความสนุกในการใช้งาน ชื่อของภาษาโปรแกรมมิงไพทอนนั้นมาจากชื่อของกลุ่มนักแสดงตลก Monty Python จากประเทศอังกฤษ ความมุ่งมั่นในการทำให้ภาษาไพทอนนั้นสนุกต่อการใช้นั้นพบเห็นได้เพิ่มเติมจากตัวอย่างของชุดคำสั่งในภาษาไพทอนบนเว็บไซต์ของโครงการไพทอนเอง ซึ่งเลือกใช้คำอย่างเช่น "spam and eggs" (เพื่อล้อกับตอนหนึ่งของรายการตลกจาก Monty Python) แทนที่จะเลือกใช้คำทั่วไปอย่าง foo และ bar ตามตัวอย่างภาษาโปรแกรมมิงอื่น

ชุมชนไพทอนมักนิยมใช้วลี "มีความเป็นไพทอน" (Pythonic) เพื่อกล่าวถึงรูปแบบของชุดคำสั่งของไพทอนที่มีความสะอาดสะอ้านและถูกเขียนขึ้นในลักษณะที่สอดคล้องกับปรัชญาการออกแบบดังกล่าว กล่าวคือมีความอ่านง่ายและแสดงถึงความรู้ในการเขียนชุดคำสั่งภาษาไพทอนได้เป็นอย่างดี ในทางตรงกันข้าม ชุดคำสั่งที่ไม่สามารถอ่านได้โดยง่าย (กล่าวคือชุดคำสั่งที่เหมือนการแปลงชุดคำสั่งจากภาษาโปรแกรมอื่นมาเป็นไพทอนแบบบรรทัดต่อบรรทัด) มักจะถูกเรียกว่าชุดคำสั่งที่ "ไม่มีความเป็นไพทอน" (Unpythonic)

ผู้ใช้ ผู้หลงใหล หรือผู้สันทัดภาษาไพทอนมักได้รับการขนานนามว่าเป็น "ไพธอนิสตา" (Pythonista)

จุดเด่นของภาษาไพทอน

ความเป็นภาษาสคริปต์

เนื่องจากไพทอนเป็นภาษาสคริปต์ ทำให้ใช้เวลาในการเขียนและคอมไพล์ไม่มาก ทำให้เหมาะกับงานด้านการดูแลระบบ (System administration) เป็นอย่างยิ่ง มีการสนับสนุนภาษาไพทอนโดยเป็นส่วนหนึ่งของระบบปฏิบัติการยูนิกซ์, ลินุกซ์ และสามารถติดตั้งให้ทำงานเป็นภาษาสคริปต์ของวินโดวส์ ผ่านระบบ Windows Script Host ได้อีกด้วย

ไวยากรณ์ที่อ่านง่าย

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

ความเป็นภาษากาว

ไพทอนเป็นภาษากาว (Glue Language) ได้อย่างดีเนื่องจากสามารถเรียกใช้ภาษาโปรแกรมอื่น ๆ ได้หลายภาษา ทำให้เหมาะที่จะใช้เขียนเพื่อประสานงานโปรแกรมที่เขียนในภาษาต่างกันได้

ตัวอย่างภาษาโปรแกรมไพทอน

ตัวอย่างด้านล่างเป็นตัวอย่างสำหรับโปรแกรมซึ่งเขียนด้วยภาษาไพทอน 3 ซึ่งมีโครงสร้างทางวากยสัมพันธ์ต่างจากไพทอน 2

โปรแกรมสวัสดีชาวโลก

print("Hello World!")
#หรือ
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 *= i
    # เทียบเท่ากับ fact = fact * i

# แสดงผลคำตอบ
print(fact)

ผลที่ได้คือจะให้ป้อนจำนวนเต็มบวกในโปรแกรม ซึ่งจะนำไปใช้ในการคำนวณค่าแฟกทอเรียลที่ต้องการทราบ เช่น

กรุณาป้อนข้อมูลรับเข้าตัวเลขใด ๆ เพื่อคำนวณค่าแฟกทอเรียล: 3
6

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

กรุณาป้อนข้อมูลรับเข้าตัวเลขใด ๆ เพื่อคำนวณค่าแฟกทอเรียล: -1
Traceback (most recent call last):
.
.
.
ValueError: คุณต้องป้อนจำนวนเต็มบวก

ไพทอนในแพลตฟอร์มต่าง ๆ

ผู้เขียนโปรแกรมภาษาไพทอนสามารถเลือกใช้แพลตฟอร์ม

ซีไพทอน

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

ไจธอน

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

ไพทอนดอตเน็ต

Python.NET เป็นการพัฒนาภาษาไพทอนให้สามารถทำงานบนดอตเน็ตเฟรมเวิร์กของไมโครซอฟท์ได้ โดยโปรแกรมที่ถูกเขียนจะถูกแปลงเป็น CLR ปัจจุบันมีโครงการที่นำภาษาไพทอนมาใช้บน .NET Framework ของไมโครซอฟท์แล้วคือโครงการ IronPython

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

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

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

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

หมายเหตุ

  1. ↑ ตั้งแต่เวอร์ชัน 3.5 เป็นต้นไป แต่คำแนะนำเหล่านี้จะถูกละเลย ยกเว้นเมื่อใช้เครื่องมือภายนอก[5]
  2. ↑

อ้างอิง

  1. ↑ "General Python FAQ – Python 3 documentation". docs.python.org. สืบค้นเมื่อ 7 กรกฎาคม 2024.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  2. ↑ "Python 0.9.1 part 01/21". alt.sources archives. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 11 สิงหาคม 2021. สืบค้นเมื่อ 11 สิงหาคม 2021.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  3. ↑ "Python 3.15.2, 3.14.10, 3.13.18, 3.12.16 and 3.11.18 are out" (ภาษาอังกฤษ). 26 ตุลาคม 2026. สืบค้นเมื่อ 26 ตุลาคม 2026.
  4. ↑ "Why is Python a dynamic language and also a strongly typed language". Python Wiki. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 14 มีนาคม 2021. สืบค้นเมื่อ 27 มกราคม 2021.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  5. ↑
  6. ↑ von Löwis, Martin; Cannon, Brett. "PEP 11 – CPython platform support". Python Enhancement Proposals (PEPs) (ภาษาอังกฤษ). สืบค้นเมื่อ 22 เมษายน 2024.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  7. ↑ "PEP 738 – Adding Android as a supported platform | peps.python.org". Python Enhancement Proposals (PEPs) (ภาษาอังกฤษ). สืบค้นเมื่อ 19 พฤษภาคม 2024.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  8. ↑
  9. ↑ "test – Regression tests package for Python". Python 3.7.17 documentation. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 17 พฤษภาคม 2022. สืบค้นเมื่อ 17 พฤษภาคม 2022.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  10. ↑ "platform – Access to underlying platform's identifying data". Python 3.10.4 documentation. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 17 พฤษภาคม 2022. สืบค้นเมื่อ 17 พฤษภาคม 2022.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  11. ↑
  12. ↑ Cannon, Brett (20 กุมภาพันธ์ 2015). "PEP 488 – Elimination of PYO files". Python Enhancement Proposals (PEPs) (ภาษาอังกฤษ). ข้อมูลเก่าจากแหล่งเดิมเมื่อ 16 มกราคม 2026. สืบค้นเมื่อ 28 กุมภาพันธ์ 2026.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  13. ↑ Ahlstrom, James C. (11 ตุลาคม 2001). "PEP 273 – Import Modules from Zip Archives". Python Enhancement Proposals (PEPs) (ภาษาอังกฤษ). ข้อมูลเก่าจากแหล่งเดิมเมื่อ 25 ก.พ. 2026. สืบค้นเมื่อ 28 กุมภาพันธ์ 2026.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  14. ↑ Harper Smith, Emma (9 กันยายน 2017). "PEP 561 – Distributing and Packaging Type Information". Python Enhancement Proposals (PEPs) (ภาษาอังกฤษ). ข้อมูลเก่าจากแหล่งเดิมเมื่อ 7 ธันวาคม 2025. สืบค้นเมื่อ 28 กุมภาพันธ์ 2026.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  15. ↑ Hammond, Mark; von Löwis, Martin (15 มีนาคม 2011). "PEP 397 – Python launcher for Windows". Python Enhancement Proposals (PEPs) (ภาษาอังกฤษ). ข้อมูลเก่าจากแหล่งเดิมเมื่อ 4 กุมภาพันธ์ 2026. สืบค้นเมื่อ 28 กุมภาพันธ์ 2026.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  16. ↑ Holth, Daniel; Moore, Paul (30 มีนาคม 2013). "PEP 0441 – Improving Python ZIP Application Support". Python Enhancement Proposals (PEPs). ข้อมูลเก่าจากแหล่งเดิมเมื่อ 16 พฤศจิกายน 2015. สืบค้นเมื่อ 12 พฤศจิกายน 2015.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  17. ↑ "Starlark Language". bazel.build. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 15 มิถุนายน 2020. สืบค้นเมื่อ 25 พฤษภาคม 2019.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  18. ↑
  19. ↑ "Ada 83 Reference Manual (raise statement)". archive.adaic.com. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 22 ตุลาคม 2019. สืบค้นเมื่อ 7 มกราคม 2020.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  20. 1 2
  21. 1 2 3 "itertools – Functions creating iterators for efficient looping". Python 3.7.17 documentation. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 14 มิถุนายน 2020. สืบค้นเมื่อ 22 พฤศจิกายน 2016.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  22. ↑
  23. 1 2
  24. ↑
  25. ↑
  26. ↑
  27. ↑
  28. ↑
  29. ↑ "re – Regular expression operations". Python 3.10.6 documentation. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 18 กรกฎาคม 2018. สืบค้นเมื่อ 6 กันยายน 2022.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  30. ↑ "CoffeeScript". coffeescript.org. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 12 มิถุนายน 2020. สืบค้นเมื่อ 3 กรกฎาคม 2018.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  31. ↑ Rauschmayer, Axel (24 กุมภาพันธ์ 2013). "Perl and Python influences in JavaScript". 2ality.com. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 26 ธันวาคม 2018. สืบค้นเมื่อ 15 พฤษภาคม 2015.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  32. ↑ Rauschmayer, Axel. "Chapter 3: The Nature of JavaScript; Influences". Speaking JavaScript. O'Reilly. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 26 ธันวาคม 2018. สืบค้นเมื่อ 15 พฤษภาคม 2015.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  33. ↑ Bezanson, Jeff; Karpinski, Stefan; Shah, Viral B.; Edelman, Alan (กุมภาพันธ์ 2012). "Why We Created Julia". Julia website. ข้อมูลเก่าจากแหล่งเดิมเมื่อ 2 พฤษภาคม 2020. สืบค้นเมื่อ 5 มิถุนายน 2014.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  34. ↑
  35. ↑
  36. ↑
  37. ↑
  38. ↑ https://web.archive.org/web/20120623165941/http://cutter.rexx.com/~dkuhlman/python_book_01.html
  39. ↑ Peterson, Benjamin (2020-04-20). "Python Insider: Python 2.7.18, the last release of Python 2". Python Insider. สืบค้นเมื่อ 2020-04-27.
  40. ↑ "Sunsetting Python 2". Python.org (ภาษาอังกฤษ). สืบค้นเมื่อ 2019-09-22.
  41. ↑ "PEP 373 -- Python 2.7 Release Schedule". Python.org (ภาษาอังกฤษ). สืบค้นเมื่อ 2019-09-22.

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