กลับไปหน้าบทความ

อ่าน 4 นาที

เซนแห่งไพธอน

หลักการ Zen of Python คือชุด "หลักการชี้นำ" 19 ข้อ สำหรับการเขียน โปรแกรมคอมพิวเตอร์ ที่มีอิทธิพลต่อการออกแบบ ภาษาการเขียนโปรแกรม Python [ 1 ] โค้ด Python...

เซนแห่งไพธอน

การแสดงผล Zen of Python ในเทอร์มินัล

หลักการZen of Pythonคือชุด"หลักการชี้นำ" 19 ข้อ สำหรับการเขียนโปรแกรมคอมพิวเตอร์ที่มีอิทธิพลต่อการออกแบบภาษาการเขียนโปรแกรม Python [ 1 ] โค้ด Python ที่สอดคล้องกับหลักการเหล่านี้มักเรียกว่า "Pythonic" [ 2 ]

วิศวกรซอฟต์แวร์Tim Petersได้เขียนหลักการชุดนี้และโพสต์ลงในรายชื่อผู้รับจดหมาย Python ในปี 1999 [ 3 ]รายชื่อของ Peters เว้นหลักการข้อที่ 20 ไว้ "ให้ Guido เติม" ซึ่งหมายถึงGuido van Rossumผู้เขียนภาษา Python คนแรก ตำแหน่งว่างสำหรับหลักการข้อที่ 20 ยังไม่ได้รับการเติมเต็ม

Peters' Zen of Python ถูกรวมไว้เป็นรายการลำดับที่ 20 ใน ข้อเสนอการปรับปรุง Pythonอย่างเป็นทางการของภาษาและเผยแพร่สู่สาธารณะ[ 4 ] นอกจากนี้ยังรวมอยู่เป็นEaster eggในตัวแปล ภาษา Python ซึ่งสามารถแสดงได้โดยการป้อน[ 1 ] [ 4 ] [ a ]importthis

ในเดือนพฤษภาคม 2020 แบร์รี วอร์ซอ (ผู้พัฒนาGNU Mailman ) ใช้เป็นเนื้อเพลง[ 5 ] [ 6 ]

หลักการ

หลักการต่างๆ มีดังต่อไปนี้: []

  • ความสวยงามย่อมดีกว่าความอัปลักษณ์
  • การระบุอย่างชัดเจนย่อมดีกว่าการระบุโดยนัย
  • ความเรียบง่ายดีกว่าความซับซ้อน
  • ความซับซ้อนดีกว่าความยุ่งยาก
  • โครงสร้างแบบเรียบดีกว่าโครงสร้างแบบซ้อนกัน
  • การกระจายตัวแบบเบาบางดีกว่าการกระจายตัวแบบหนาแน่น
  • ความอ่านง่ายเป็นสิ่ง สำคัญ
  • กรณีพิเศษเหล่านั้นไม่ได้พิเศษมากพอที่จะเป็นข้อยกเว้นของกฎเกณฑ์
  • แม้ว่าความเหมาะสมในทางปฏิบัติจะสำคัญกว่าความบริสุทธิ์ก็ตาม
  • ไม่ควรปล่อยให้ข้อผิดพลาดผ่านไปโดยไม่มีการแจ้งล่วงหน้า
  • เว้นแต่จะถูกปิดปากโดยชัดแจ้ง
  • เมื่อเผชิญกับความคลุมเครือ จงอย่าหลงไปกับการเดา
  • ควรจะมีวิธีที่ชัดเจนเพียงวิธีเดียวในการทำเช่นนั้น[ c ]
  • แม้ว่าวิธีการนั้นอาจจะไม่ชัดเจนในตอนแรก เว้นแต่คุณจะเป็นชาวดัตช์
  • ตอนนี้ก็ยังดีกว่าไม่ทำเลย
  • แม้ว่าการไม่เคยเลยมักจะดีกว่าการอยู่ในตอนนี้ก็ตาม[ d ]
  • ถ้าการนำไปใช้จริงนั้นอธิบายได้ยากก็เป็นความคิดที่ไม่ดี
  • หากการนำไปใช้สามารถอธิบายได้ง่าย ก็อาจเป็นความคิดที่ดี
  • การใช้เนมสเปซเป็นแนวคิดที่ยอดเยี่ยมมาก – มาใช้เนมสเปซกันให้มากขึ้นเถอะ!

การเป็นไพธอน

หนึ่งในหลักการที่ว่า "ควรมีวิธีการที่ชัดเจนเพียงวิธีเดียว และควรเป็นวิธีเดียวเท่านั้น" สามารถอ้างอิงได้ว่าเป็นวิธีการแบบ "ไพธอน" [ 8 ]คำจำกัดความอย่างเป็นทางการของ "ไพธอน" คือ: [ 2 ] [ e ]

แนวคิดหรือโค้ดที่ปฏิบัติตามรูปแบบการใช้งานทั่วไปของภาษา Python อย่างใกล้ชิด แทนที่จะใช้แนวคิดที่พบได้ทั่วไปในภาษาอื่นๆ ตัวอย่างเช่น รูปแบบการใช้งานทั่วไปใน Python คือการวนลูปผ่านองค์ประกอบทั้งหมดของ iterable โดยใช้forคำสั่ง `if` ภาษาอื่นๆ หลายภาษาไม่มีโครงสร้างแบบนี้ ดังนั้นผู้ที่ไม่คุ้นเคยกับ Python บางครั้งจึงใช้ตัวนับตัวเลขแทน:

for i in range ( len ( food )): print ( food [ i ])

ตรงข้ามกับวิธีการที่สะอาดกว่าและเป็นแบบ Pythonic:

สำหรับชิ้นส่วนในอาหาร: พิมพ์( ชิ้นส่วน)

โค้ดที่เข้าใจยากหรืออ่านเหมือนการถอดความแบบหยาบๆ จากภาษาโปรแกรมอื่นเรียกว่า unpythonic [ 9 ]

ในทางปฏิบัติ

นับตั้งแต่มีการเผยแพร่ Zen of Python ก็มีการวิจัยเกี่ยวกับประสิทธิภาพและการใช้งานจริงในหมู่นักพัฒนา แม้ว่าจะมีความแตกต่างในการตีความระหว่างผู้เริ่มต้นและโปรแกรมเมอร์ Python ที่มีประสบการณ์ การสัมภาษณ์โปรแกรมเมอร์ Python 13 คนที่มีทักษะแตกต่างกันแสดงให้เห็นว่า Zen of Python "ส่งผลดีต่อวิธีที่นักพัฒนาเขียนและพูดคุยเกี่ยวกับโค้ด" [ 8 ] นักวิจัยได้ขยาย กรณีศึกษานี้เพื่อสำรวจการใช้สำนวน Python ใน ที่เก็บ GitHubและพบว่าการใช้ "สำนวน Pythonic" [ f ]เพิ่มขึ้นเมื่อเวลาผ่านไป[ 10 ]การเขียนโค้ด Python ที่สอดคล้องกับ Zen of Python อาจช่วยประหยัดหน่วยความจำและเวลาในการทำงานของโปรแกรม Python [ 11 ]ความปรารถนาที่จะเขียนโค้ดในรูปแบบ Pythonic นำไปสู่ เครื่องมือ การปรับโครงสร้างใหม่เพื่อช่วยให้โปรแกรมเมอร์บรรลุเป้าหมายนี้[ 12 ] [ 13 ]

ดูเพิ่มเติม

หมายเหตุ

  1. ^สามารถดูซอร์สโค้ดของ Zen of Python ได้ที่ Github
  2. ^ลิงก์ Wikipedia ด้านล่างนี้ถูกเพิ่มเข้ามาเพื่อเป็นข้อมูลอ้างอิงและความเข้าใจเพิ่มเติม และไม่ได้ถูกใส่ไว้ใน Zen of Python อย่างชัดเจน
  3. ^การจัดรูปแบบของขีดกลางในบรรทัดนี้และบรรทัดสุดท้ายนั้นไม่สอดคล้องกันโดยเจตนา โดยอ้างอิงถึงข้อกำหนดการจัดรูปแบบที่แตกต่างกัน [ 7 ]
  4. ^ในอีสเตอร์เอ็กซ์ของตัวแปลภาษา ข้อความนี้เขียนว่า "ถึงแม้ว่าการไม่เคยทำเลยมักจะดีกว่า *ตอนนี้* เสมอ" ซึ่งเป็นไปตามธรรมเนียมปฏิบัติที่มีมายาวนานใน การสื่อสาร ด้วยข้อความธรรมดาซึ่งคุณสมบัติการจัดรูปแบบทั่วไปมักเป็นไปไม่ได้ จึงมักใช้เครื่องหมาย ดอกจันแทนการเน้นข้อความ
  5. ^คำจำกัดความด้านล่างนี้คัดลอกมาโดยตรงเพื่อรักษาความหมายดั้งเดิม ดังนั้นตามที่ปรากฏ จึงไม่ถือว่าเป็นโค้ด Python ที่ถูกต้องสมบูรณ์และสามารถทำงานได้โดยไม่มีข้อผิดพลาด
  6. ^รายชื่อสำนวน Pythonic ของพวกเขา สามารถดูได้ที่นี่ https://slimshadyiam.github.io/ZenYourPython/
  • PEP20 บนเว็บไซต์ Python
  • PEP 20 ~ ปรัชญาเซนแห่งไพธอน โดย ทิม ปีเตอร์ส
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Zen_of_Python&oldid=1342844534 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เซนแห่งไพธอน

หลักการ Zen of Python คือชุด "หลักการชี้นำ" 19 ข้อ สำหรับการเขียน โปรแกรมคอมพิวเตอร์ ที่มีอิทธิพลต่อการออกแบบ ภาษาการเขียนโปรแกรม Python [ 1 ] โค้ด Python...

การเป็นไพธอน

หนึ่งในหลักการที่ว่า "ควรมีวิธีการที่ชัดเจนเพียงวิธีเดียว และควรเป็นวิธีเดียวเท่านั้น" สามารถอ้างอิงได้ว่าเป็นวิธีการแบบ "ไพธอน" [ 8 ] คำจำกัดความอย่างเป็นทางการของ "ไพธอน" คือ: [ 2 ] [ e ]

ในทางปฏิบัติ

นับตั้งแต่มีการเผยแพร่ Zen of Python ก็มีการวิจัยเกี่ยวกับประสิทธิภาพและการใช้งานจริงในหมู่นักพัฒนา แม้ว่าจะมีความแตกต่างในการตีความระหว่างผู้เริ่มต้นและโปรแกรมเมอร์ Python ที่มีประสบการณ์ การสัมภาษณ์โปรแกรมเมอร์ Python 13 คนที่มีทักษะแตกต่างกันแสดงให้เห็นว่า...

ดูเพิ่มเติม

ข้อตกลงสำคัญกว่าการกำหนดค่า มีมากกว่าหนึ่งวิธีที่จะทำเช่นนั้น