อ่าน 4 นาที
เซนแห่งไพธอน
หลักการ Zen of Python คือชุด "หลักการชี้นำ" 19 ข้อ สำหรับการเขียน โปรแกรมคอมพิวเตอร์ ที่มีอิทธิพลต่อการออกแบบ ภาษาการเขียนโปรแกรม Python [ 1 ] โค้ด 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 ]
ดูเพิ่มเติม
หมายเหตุ
- ^สามารถดูซอร์สโค้ดของ Zen of Python ได้ที่ Github
- ^ลิงก์ Wikipedia ด้านล่างนี้ถูกเพิ่มเข้ามาเพื่อเป็นข้อมูลอ้างอิงและความเข้าใจเพิ่มเติม และไม่ได้ถูกใส่ไว้ใน Zen of Python อย่างชัดเจน
- ^การจัดรูปแบบของขีดกลางในบรรทัดนี้และบรรทัดสุดท้ายนั้นไม่สอดคล้องกันโดยเจตนา โดยอ้างอิงถึงข้อกำหนดการจัดรูปแบบที่แตกต่างกัน [ 7 ]
- ^ในอีสเตอร์เอ็กซ์ของตัวแปลภาษา ข้อความนี้เขียนว่า "ถึงแม้ว่าการไม่เคยทำเลยมักจะดีกว่า *ตอนนี้* เสมอ" ซึ่งเป็นไปตามธรรมเนียมปฏิบัติที่มีมายาวนานใน การสื่อสาร ด้วยข้อความธรรมดาซึ่งคุณสมบัติการจัดรูปแบบทั่วไปมักเป็นไปไม่ได้ จึงมักใช้เครื่องหมาย ดอกจันแทนการเน้นข้อความ
- ^คำจำกัดความด้านล่างนี้คัดลอกมาโดยตรงเพื่อรักษาความหมายดั้งเดิม ดังนั้นตามที่ปรากฏ จึงไม่ถือว่าเป็นโค้ด Python ที่ถูกต้องสมบูรณ์และสามารถทำงานได้โดยไม่มีข้อผิดพลาด
- ^รายชื่อสำนวน Pythonic ของพวกเขา สามารถดูได้ที่นี่ https://slimshadyiam.github.io/ZenYourPython/
ลิงก์ภายนอก
- PEP20 บนเว็บไซต์ Python
- PEP 20 ~ ปรัชญาเซนแห่งไพธอน โดย ทิม ปีเตอร์ส
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เซนแห่งไพธอน
หลักการ Zen of Python คือชุด "หลักการชี้นำ" 19 ข้อ สำหรับการเขียน โปรแกรมคอมพิวเตอร์ ที่มีอิทธิพลต่อการออกแบบ ภาษาการเขียนโปรแกรม Python [ 1 ] โค้ด Python...
การเป็นไพธอน
หนึ่งในหลักการที่ว่า "ควรมีวิธีการที่ชัดเจนเพียงวิธีเดียว และควรเป็นวิธีเดียวเท่านั้น" สามารถอ้างอิงได้ว่าเป็นวิธีการแบบ "ไพธอน" [ 8 ] คำจำกัดความอย่างเป็นทางการของ "ไพธอน" คือ: [ 2 ] [ e ]
ในทางปฏิบัติ
นับตั้งแต่มีการเผยแพร่ Zen of Python ก็มีการวิจัยเกี่ยวกับประสิทธิภาพและการใช้งานจริงในหมู่นักพัฒนา แม้ว่าจะมีความแตกต่างในการตีความระหว่างผู้เริ่มต้นและโปรแกรมเมอร์ Python ที่มีประสบการณ์ การสัมภาษณ์โปรแกรมเมอร์ Python 13 คนที่มีทักษะแตกต่างกันแสดงให้เห็นว่า...
ดูเพิ่มเติม
ข้อตกลงสำคัญกว่าการกำหนดค่า มีมากกว่าหนึ่งวิธีที่จะทำเช่นนั้น