官术网_书友最值得收藏!

1.5 Python之禪

1999年,Python官方郵件列表上開始了一場關于編寫一些通用化的指導原則的討論。Tim Peters是社區的一位突出成員,他玩笑式地以類似于詩歌的方式提出了19條原則作為大綱,并留下了第20個位置請Guido van Rossum來完成(但他從未完成過)。

其余的社區成員很快就把這個總結視為對Python哲學的一個很好的概述,最終將其整體作為Python之禪(The Zen of Python)。整個文本則作為PEP 20由Python官方發布。

這些原則如下[2]


[2] 譯者注:從2005年開始,Python中國社區翻譯迭代了十多版Python之禪,目前這個版本的主要貢獻者是《編寫高質量代碼:改善Python程序的91個建議》的作者賴勇浩。

優雅好過丑陋。

顯式好過隱式。

簡單好過復合。

復合好過復雜。

扁平好過嵌套。

稀疏好過密集。

可讀性很重要。

即使要為了實用性而犧牲純粹性,

特例也并不特殊到足以破壞規則。

不應悄悄放過錯誤,

除非確定需要這樣。

面對太多可能,不要嘗試猜測。

應該有一種(且最好只有一種)明顯的方式來做到這一點。

雖然這并不容易,畢竟你不是那位荷蘭人[3]


[3] 譯者注:“那位荷蘭人”指的是Python的創造者Guido van Rossum,他是荷蘭人。

雖然一直不做總是要好過匆忙去做,

但是現在就做還是要好過永遠不做。

若實現方案很難解釋,那它肯定不是個好方案;

若實現方案很好解釋,那它有可能是個好方案。

命名空間是個絕妙想法——我們應該多使用它!

這些原則是開放的,可以解釋為不同的意思,有些人甚至認為Tim Peters在寫Python之禪時是在開玩笑。但是在這個過程中,我學到了一個很重要的道理,那就是對Python開發者而言,“開玩笑”和“認真”之間的界限是非常細微的。

在任何情況下,Python之禪都是討論Python最佳實踐的好地方,許多開發者(包括我自己)經常會回到這里。在本書中,我也會經常提到它。

主站蜘蛛池模板: 成武县| 泸西县| 西林县| 紫金县| 梁河县| 博客| 勃利县| 惠东县| 甘泉县| 多伦县| 英山县| 南投县| 兴和县| 北流市| 华亭县| 顺平县| 安西县| 万山特区| 江孜县| 池州市| 思茅市| 江都市| 南华县| 柳江县| 乌兰县| 寻甸| 罗江县| 界首市| 吴旗县| 关岭| 陆丰市| 沙洋县| 崇明县| 古交市| 开封市| 洛川县| 常熟市| 湘乡市| 云龙县| 周宁县| 陆良县|