fbpx
วิกิพีเดีย

ไพทอน (ภาษาโปรแกรม)

สำหรับความหมายอื่น ดูที่ ไพทอน

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

กระบวนทัศน์การเขียนโปรแกรม หลากหลายรูปแบบ เช่นการเขียนโปรแกรมเชิงวัตถุ, หรือการเขียนโปรแกรมเชิงฟังก์ชัน
ออกแบบโดย คีโด ฟัน โรสซึม
พัฒนาโดย มูลนิธิซอฟต์แวร์ไพทอน
เริ่มในปี ค.ศ. 1990 (1990)
รุ่นเสถียรล่าสุด 3.8.5
20 มิถุนายน ค.ศ. 2020 (2020-06-20)
รุ่นกำลังพัฒนาล่าสุด 3.9.0b5
20 กรกฎาคม ค.ศ. 2020 (2020-07-20)
ระบบปฏิบัติการ ลินุกซ์, วินโดวส์, แมคโอเอส และอื่นๆ
มีอิทธิพลจาก ABC, Perl, Lisp, Smalltalk, Tcl
มีอิทธิพลต่อ Ruby, Boo
ลิขสิทธิ์ ลิขสิทธิ์มูลนิธิซอฟต์แวร์ไพทอน
เว็บไซต์ www.python.org

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

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

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

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

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

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

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

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

โปรแกรมสำหรับการคำนวณเลขแฟกทอเรียลของจำนวนเต็มบวกใดๆ

# คำสั่งในบรรทัดด้านล่างรับเข้าตัวเลข ก่อนแปลงเป็นจำนวนเต็มบวก # ชุดคำสั่ง `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. Peterson, Benjamin (2020-04-20). "Python Insider: Python 2.7.18, the last release of Python 2". Python Insider. สืบค้นเมื่อ 2020-04-27.
  4. "Sunsetting Python 2". Python.org (ภาษาอังกฤษ). สืบค้นเมื่อ 2019-09-22.
  5. "PEP 373 -- Python 2.7 Release Schedule". Python.org (ภาษาอังกฤษ). สืบค้นเมื่อ 2019-09-22.

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

  • เว็บหลักของไพทอน (อังกฤษ)

ไพทอน, ภาษาโปรแกรม, งก, ามภาษา, ในบทความน, ไว, ให, านและผ, วมแก, ไขบทความศ, กษาเพ, มเต, มโดยสะดวก, เน, องจากว, เด, ยภาษาไทยย, งไม, บทความด, งกล, าว, กระน, ควรร, บสร, างเป, นบทความโดยเร, วท, ดสำหร, บความหมายอ, ไพทอน, ภาษาไพทอน, python, programming, language, หร. lingkkhamphasa inbthkhwamni miiwihphuxanaelaphurwmaekikhbthkhwamsuksaephimetimodysadwk enuxngcakwikiphiediyphasaithyyngimmibthkhwamdngklaw krann khwrribsrangepnbthkhwamodyerwthisudsahrbkhwamhmayxun duthi iphthxn phasaiphthxn Python programming language hruxthimkeriykknwaiphthxn epnphasaradbsungsungsrangodykhiod fn orssum odyeriminpiph s 2533 karxxkaebbkhxngphasaiphthxnmungennihphuopraekrmsamarthxanchudkhasngidodyngayphankarichnganxkkhraewnwang whitespaces canwnmak nxkcaknnkarxxkaebbphasaiphthxnaelakarprayuktichaenwkhidkarekhiynopraekrmechingwtthuintwphasayngchwyihnkekhiynopraekrmsamarthekhiynopraekrmthiepnraebiyb xanngay mikhnadelk aelangaytxkarbarung 3 krabwnthsnkarekhiynopraekrm hlakhlayrupaebb echnkarekhiynopraekrmechingwtthu hruxkarekhiynopraekrmechingfngkchnxxkaebbody khiod fn orssumphthnaody mulnithisxftaewriphthxneriminpi kh s 1990 1990 runesthiyrlasud 3 8 520 mithunayn kh s 2020 2020 06 20 1 runkalngphthnalasud 3 9 0b520 krkdakhm kh s 2020 2020 07 20 2 rabbptibtikar linuks winodws aemkhoxexs aelaxunmixiththiphlcak ABC Perl Lisp Smalltalk Tclmixiththiphltx Ruby Boolikhsiththi likhsiththimulnithisxftaewriphthxnewbist www python orgiphthxnepnphasaaebbidnamikphrxmtwekbkhya iphthxnrxngrbkrabwnthsnkarekhiynopraekrmhlayrupaebb sungrwmthungaetimcakdephiyngkarekhiynopraekrmtamladbkhn karekhiynopraekrmechingwtthu hruxkarekhiynopraekrmechingfngkchn nxkcakniiphthxnepnphasathimkthukxthibaywaepnphasaopraekrmaebb maphrxmthan batteries included klawkhuxiphthxnmaphrxmkbilbrarimatrthancanwnmak echnokhrngsrangkhxmulaebbsbsxn aelailbrarisahrbkhnitsastriphthxnmkthukmxngwaepnphasathisrangtxcakphasa ABC odyiphthxn 2 0 sungxxkephyaephremuxpiph s 2543 maphrxmkbekhruxngmuxsahrbkarekhiynopraekrmcanwhnung xyangechntwsrangaethwraykar list comprehension iphthxnrun 3 0 epniphthxnrunthiidrbkarprbprungaelaaekikhcanwnmak thwakhwamepliynaeplnginiphthxn 3 nnepnkarepliynaeplngthiimekhaknaebbyxnhlng klawkhuxchudkhasngthiekhiynsahrbiphthxn 2 xacimthangantampktiemuxsngihthanganbntwaeplphasakhxngiphthxn 3iphthxnrun 2 0 hmdkarsnbsnunxyangepnthangkarinpiph s 2563 odykarhmdkarsnbsnunnithukwangaephntngaetpiph s 2558 aelaiphthxnrun 2 7 18 epniphthxnrun 2 7 aelaruntrakul 2 0 twsudthaythixxkephyaephr 4 odyhlngcaknicaimmikarsnbsnunkhwamplxdphyhruxkarprbprungxunidephimetimsahrbphasaiphthxnrun 2 0 xik 5 6 xinethxrphrietxrkhxngphasaiphthxnsamarthichnganidbnhlayrabbptibtikar chumchnnkphthnaopraekrmkhxngiphthxnrwmknduaelokhrngkarsiiphthxnodymimulnithisxftaewriphthxnsungepnxngkhkrimaeswngphlkair thahnathiduaelaelacdkarthrphyakrsahrbkarphthnaiphthxnaelasiiphthxn enuxha 1 khunsmbtiaelaprchyakarxxkaebb 2 cudednkhxngphasaiphthxn 2 1 khwamepnphasaskhript 2 2 iwyakrnthixanngay 2 3 khwamepnphasakaw 3 twxyangphasaopraekrmiphthxn 3 1 opraekrmswsdichawolk 3 2 opraekrmsahrbkarkhanwnelkhaefkthxeriylkhxngcanwnetmbwkid 4 iphthxninaephltfxrmtang 4 1 siiphthxn 4 2 icthxn 4 3 iphthxndxtent 5 ilbrariiniphthxn 5 1 aephkhekcephimetimthinasnic 6 karnaipichngan 6 1 twaekikhsahrbiphthxn 6 2 xngkhkrsakhythiichiphthxn 6 3 sxftaewrthiekhiyndwyiphthxn 7 xangxing 8 aehlngkhxmulxunkhunsmbtiaelaprchyakarxxkaebb aekikhphuichphasaiphthxnsamartheluxkkrabwnthsnkarekhiynopraekrmtamthitnexngthndid odyrxngrbkarekhiynopraekrmechingokhrngsrangaelakarekhiynopraekrmechingwtthuxyangetmrupaebb rwmthungrxngrbkarekhiynopraekrmechingfngkchn thnginrupaebbkhxngkarekhiynopraekrmechinglksna aelakarekhiynopraekrmechingemtaxxbeckt swnkhyaykhxngiphthxnthaihsamarthekhiynopraekrmdwykrabwnthsnxun echnkarekhiynopraekrmechingtrrkaiphthxnekbkhxmulaebbidnamik dynamic type aelaichkhntxnwithikarnbkarxangxing Reference counting prakxbrwmkbtwekbkhya garbage collector ephuxcdkarhnwykhwamcaiphthxnmaphrxmekhruxngmuxsahrbkarekhiynopraekrmechingfngkchnaebbthiphbinphasalisp nxkcakniiphthxnmiekhruxngmuxxyangechnfngkchn filter map aela reduce ekhruxngmuxkarsranglist list comprehension aethwladbaebbcbkhu inchuxkhxng Dictionary est aelaekhruxngmuxsrangkarwnsa generator aenwkhidaelahlkkarkhxngiphthxnthuksrupinexksarchuxwa Zen of Python sungrabuhlkkarkhxngphasaiwechn swyngamdikwanaekliyd Beautiful is better than ugly chdaecngdikwasxnern Explicit is better than implicit eriybngaydikwasbsxn Simple is better than complex sbsxndikwayungehying Complex is better than complicated txngisickarxanxxkidngay Readability counts iphthxnimidthukxxkaebbmaihmikhunsmbtiaelakhwamsamarthinkarthanganthukxyang aetiphthxnthukxxkaebbmaihsamarththuktxyxdidngay karxxkaebbinlksnanithaihtwkhxngphasaiphthxnidrbkhwamniymenuxngdwykhwamsamarthinkarephimswntxkhyayhruxchudkhunsmbtilngipinaexpphliekhchnthimixyukxnhnani karxxkaebbinlksnanimacakwisythsnkhxngfn orssumthitxngkarehnkarxxkaebbphasaopraekrmthimirabbaeknklangkhnadelk aetmaphrxmilbrarichudkhasngkhnadihy odyepahmaykarxxkaebblksnanimacakkhwamimsadwkinkarichphasa ABC thifn orssumekhyecxmakxnhnaniokhrngsrangthangwakysmphnth syntax khxngphasaiphthxnmungennkhwameriybngayaelaimyungehying inkhnaediywknyngkhngihxisrakbnkphthnaopraekrminkareluxkwithikarekhiynopraekrmidexng prchyakarxxkaebbnikhxngiphthxnxyubnkhwamechuxthiwa khwrcamithangediyw aelathangediywethann inkarthaxairskxyang there should be one and preferably only one obvious way to do it sungtrngknkhamkbaenwkhidkarxxkaebbkhxngphasaephirlthiechuxwa erakhwrthaxairidmakkwahnungwithi There s more than one way to do it hakcaklawihlaexiyd xaelks maretlli phuekhiyntaraphasaiphthxn aelasmachikkhxngmulnithisxftaewriphthxn klawwa inwthnthrrmkhxngiphthxn karxthibaywa withikarekhiynopraekrm bangxyangnnchladmak imthuxepnkhachm nkphthnaopraekrmthiichphasaiphthxnmkphyayamhlikeliyngkarprbprungprasiththiphaphkxnthungewlaxnkhwr premature optimisation aelamkptiesthkarrwmokhdkhxngokhrngkar CPython thitxngaelkprasiththiphaphthiephimkhunmaelknxykbkhwamxanyakkhxngokhd odyemuxtxngekhiynchudkhasngthiewlapramwlphlepneruxngsakhy nkphthnaopraekrmiphthxncaniymekhiynswykhyaykhxngopraekrmnndwyphasa C aeykxxkma hruxich PyPy sungepntwaeplphasaaebbinewla Just in time compiler sahrbphasaiphthxn nxkcakninkphthnayngmitweluxkxunechnkarichisthxnsungepntwaeplrhskhasngcakphasaiphthxnipepnphasasihnunginepahmaysakhykhxngphasaiphthxnkhuxkhwamsnukinkarichngan chuxkhxngphasaopraekrmmingiphthxnnnmacakchuxkhxngklumnkaesdngtlk Monty Python cakpraethsxngkvs khwammungmninkarthaihphasaiphthxnnnsnuktxkarichnnphbehnidephimetimcaktwxyangkhxngchudkhasnginphasaiphthxnbnewbistkhxngokhrngkariphthxnexng sungeluxkichkhaxyangechn spam and eggs ephuxlxkbtxnhnungkhxngraykartlkcak Monty Python aethnthicaeluxkichkhathwipxyang foo aela bar tamtwxyangphasaopraekrmmingxunchumchniphthxnmkniymichwli mikhwamepniphthxn Pythonic ephuxklawthungrupaebbkhxngchudkhasngkhxngiphthxnthimikhwamsaxadsaxanaelathukekhiynkhuninlksnathisxdkhlxngkbprchyakarxxkaebbdngklaw klawkhuxmikhwamxanngayaelaaesdngthungkhwamruinkarekhiynchudkhasngphasaiphthxnidepnxyangdi inthangtrngknkham chudkhasngthiimsamarthxanidodyngay klawkhuxchudkhasngthiehmuxnkaraeplngchudkhacngcakphasaopraekrmxunmaepniphthxnaebbbrrthdtxbrrthd mkcathukeriykwachudkhasngthi immikhwamepniphthxn Unpythonic phuich phuhlngihl hruxphusnthdphasaiphthxnmkidrbkarkhnannamwaepn iphthxnista Pythonista cudednkhxngphasaiphthxn aekikhkhwamepnphasaskhript aekikh enuxngcakiphthxnepnphasaskhript thaihichewlainkarekhiynaelakhxmiphlimmak thaihehmaakbngandankarduaelrabb System administration epnxyangying mikarsnbsnunphasaiphthxnodyepnswnhnungkhxngrabbptibtikaryuniks linuks aelasamarthtidtngihthanganepnphasaskhriptkhxngwinodws phanrabb Windows Script Host idxikdwy iwyakrnthixanngay aekikh iwyakrnkhxngiphthxnidkacdkarichsylksnthiichinkaraebngblxkkhxngopraekrm aelaichkaryxhnaaethn thaihsamarthxanopraekrmthiekhiynidngay nxkcaknnyngmikarsnbsnunkarekhiyn docstring sungepnkhxkhwamsn thiichxthibaykarthangankhxngfngkchn khlas aelaomdulxikdwy khwamepnphasakaw aekikh iphthxnepnphasakaw Glue Language idxyangdienuxngcaksamartheriykichphasaopraekrmxun idhlayphasa thaihehmaathicaichekhiynephuxprasannganopraekrmthiekhiyninphasatangknidtwxyangphasaopraekrmiphthxn aekikhtwxyangdanlangepntwxyangsahrbopraekrmsungekhiyndwyphasaiphthxn 3 sungmiokhrngsrangthangwakysmphnthtangcakiphthxn 2 opraekrmswsdichawolk aekikh print Hello world opraekrmsahrbkarkhanwnelkhaefkthxeriylkhxngcanwnetmbwkid aekikh khasnginbrrthddanlangrbekhatwelkh kxnaeplngepncanwnetmbwk chudkhasng int iniphthxncatdthsniymthingodyxtonmti n int input krunapxnkhxmulrbekhatwelkhid ephuxkhanwnkhaaefkthxeriyl haktwelkhmikhanxykwa 0 ihthakarykaesdngkhxphidphlad error raising odyihaesdngkhxphidphladaebb ValueError khunma if n lt 0 raise ValueError khuncaepntxngpxncanwnetmbwk prakaskhatngtnkhxngaefkthxeriyl fact 1 wnsasahrbkha i tngaet 2 thung n 1 for i in range 2 n 1 ethiybethakb fact fact i fact i aesdngphlkhatxb print fact iphthxninaephltfxrmtang aekikhphuekhiynopraekrmphasaiphthxnsamartheluxkichaephltfxrm siiphthxn aekikh siiphthxn CPython khuxaephltfxrmphasaiphthxndngedim opraekrmxinethxrphrietxrthukekhiynodyphasasi sungkhxmiphlichidbnhlayrabbptibtikar echn winodws yuniks linuks karichngansamarththaidodykartidtngopraekrmxinethxrphrietxraelaaephkhekcthicaepntang icthxn aekikh icthxn Jython epnaephltfxrmphasaiphthxnthithukphthnabnaephltfxrmcawa ephuxephimxanwykhwamsadwkinkarichkhwamsamarthphasaskhriptkhxngiphthxnlnginsxftaewrcawaxun karichngansamarththaidodykartidtngcawaaelaeriykilbrarikhxngicthxnsungmainrupibnariephuxichngan iphthxndxtent aekikh Python NET epnkarphthnaphasaiphthxnihsamarththanganbndxtentefrmewirkkhxngimokhrsxfthid odyopraekrmthithukekhiyncathukaeplngepn CLR pccubnmiokhrngkarthinaphasaiphthxnmaichbn NET Framework khxngimokhrsxfthaelwkhuxokhrngkar IronPythonilbrariiniphthxn aekikhkarekhiynopraekrminphasaiphthxnodyichilbraritang epnkarldpharakhxngopraekrmemxridepnxyangdi thaihopraekrmemxrimtxngesiyewlakbkarekhiynkhasngthisa echnkaraesdngphlkhxmulxxksuhnacx hruxkarrbkhatang iphthxnmichudilbrarimatrthanmaihtngaettidtngxinetxrphrietxr nxkcaknnyngmiphuphthnacakthwolkdaeninkarphthnailbrarisungchwyxanwykhwamsadwkindantang odycaephyaephrinrupaebbkhxngaephkhekctang sungsamarthtidtngephimetimidxikdwy aephkhekcephimetimthinasnic aekikh wxPython xikthangeluxkhnungsahrbekhiynswntidtxkbphuichaebbkrafiks sungsamarthichidhlayrabbptibtikar SciPy rwmokhrngsrangkhxmulaelakarkhanwntang thicaepntxngichinkarekhiynopraekrmkhanwnthangwithyasastr py2exe ichsahrbaeplngopraekrmthiekhiyninphasaiphthxnihxyuinrupaebbkhxng inrabbptibtikarwinodws PyWin32 ichsahrbtidtxeriykichbrikarbnrabbptibtikarwinodwsaelakhlasin Microsoft Foundation Classes MFC MySQLdb ichsahrbtidtxkbrabbthankhxmul MySQL psycopg2 ichsahrbtidtxkbrabbthankhxmul ophstekrskhiwexl PyGTK GTK sahrb Python ichsahrbsrangswntidtxkbphuichaebbkrafiks sungsamarthichidhlayrabbptibtikar PyQt Qt sahrb Python ichsahrbsrangswntidtxkbphuichaebbkrafiks sungsamarthichidhlayrabbptibtikarkarnaipichngan aekikhdwykhwamyudhyunkhxngphasaiphthxn aelakhwamepn phasaskhriptthaihmikarichnganiphthxnxyangkwangkhwang twaekikhsahrbiphthxn aekikh phuichsamarthichtwaekikhkhxkhwamthwipinkaraekikhopraekrmphasaiphthxn nxkcaknnyngmi Integrated Development Environmentxun iheluxkichxik xathi PyScripter epnchudekhruxngmuxsahrbphthnaphasaiphthxn bnrabbptibtikarwinodwn thiihphuichsamarthnaipichfri open source Python IDLE mixyuinchudxinetxrphrietxrxyuaelw samartheluxktidtngid PythonWin epntwaekikhinchudkhxng PyWin32 ActivePython cak ActiveState lasud run 2 5 1 SPE Stani s Python Editor epntwaekikhthimaphrxmkbtwxxkaebbyusesxrxinethxrefs wxGlade aelaekhruxngmuxsahrb Regular Expression mirabb Syntax Highlight aelakarcdyxhnatamwakysmphnthkhxngiphthxnihxtonmtiphthnakhuncakphasaiphthxndawnohldichnganidfrithi http spe pycs net WingIDE twaekikhthimirabb Syntax Highlight aelakarcdyxhnatamiwykrnkhxngiphthxnihxtonmti aetimichfriaewr Komodo twaekikhthimirabb Syntax Highlight karcdyxhnatamiwykrnkhxngiphthxnihxtonmtiaelaetimkhaxtonmti epntwaekikhcak ActiveState xiktwhnung imichfriaewr Pydev epn Python IDE sahrb Eclipse samarthichphthna Python Jython aela Ironpython PyCharm epn Python IDE thisrangkhunodybristh JetBrains aebngxxkepn 2 ewxrchn idaek Community Edition ichnganfri aela Professional Edition esiyenginsamarththdlxngichid 30 wn ody Professional Edition caephimkhwamsamarthinkartrwc syntax khxngefrmewirkthiidrbkhwamniymthiichnganrwmkbphasaiphthxn echn Django Flask Google App Engine epntnxngkhkrsakhythiichiphthxn aekikh kuekil ichphasaiphthxninbrikarhlayxyang echn cieml aela kuekilolkhxl kuekilaemphssxftaewrthiekhiyndwyiphthxn aekikh bitthxrernt BitTorrent Chandler opraekrmcdkarkhxmulswnbukhkhl bangswnkhxng GNOME bangswnkhxng Blender Mailman opraekrmcdkarcdhmayklum emllinglist MoinMoin opraekrmwiki Portage swncdkaraephkekckhxng Gentoo Linux Zope aexpphliekhchnesirfewxr ethxrobekiyr krxbngankhnadihysahrbphthnaopraekrmprayuktbnewb Django krxbngankhnadihysahrbphthnaopraekrmprayuktbnewbxangxing aekikh Python 3 5 0 Release Python Software Foundation subkhnemux 13 Sep 2015 Python 3 9 0b5 Python org subkhnemux 20 July 2020 https web archive org web 20120623165941 http cutter rexx com dkuhlman python book 01 html Peterson Benjamin 2020 04 20 Python Insider Python 2 7 18 the last release of Python 2 Python Insider subkhnemux 2020 04 27 Sunsetting Python 2 Python org phasaxngkvs subkhnemux 2019 09 22 PEP 373 Python 2 7 Release Schedule Python org phasaxngkvs subkhnemux 2019 09 22 aehlngkhxmulxun aekikhewbhlkkhxngiphthxn xngkvs ekhathungcak https th wikipedia org w index php title iphthxn phasaopraekrm amp oldid 9317569, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม