Linux中國
Python 之禪
Python 之禪 最早由 Tim Peters 於 1999 年發表於 Python 郵件列表中,它包含了影響 Python 編程語言設計的 19 條軟體編寫原則。在最初及後來的一些版本中,一共包含 20 條,其中第 20 條是「這一條留空(...)請 Guido 來填寫」。這留空的一條從未公布也可能並不存在。
Python 之禪作為一個信息條款也被錄入 Python 增強建議 (PEP)的第 20 條,在 Python 語言的官方網站也能找到。
此外,關於 Python 之禪,還有一件趣事。在 2001 召開第十屆國際 Python 峰會(IPC 10,Pycon 的前身)前夕,會議主辦方希望定製一件 T 恤,並絞盡腦汁地從投稿的標語中選擇了一條 「import this」。然後,他們決定將這個語句實現在 Python 解釋器中,於是將 Python 之禪的內容進行簡單加密後放入到了 Python 2.2.1 中的 this.py 庫當中。如果你在 Python 的解釋器中輸入 import this ,就會顯示出來:
>>> import this;
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
作為 Python 之禪系列文章的總結,我在下面重新整理並鏈接了之前的各篇文章。對於 Python 之禪的理解大家各有不同,目前也有幾個不同的中文翻譯版本。為了避免雷同,我們在翻譯這系列文章時有意沒有參考現有的 Python 之禪中文譯本。因此,這裡是我們自行翻譯選定的譯本,可能在理解上有不到位的地方,也可能文字潤色不夠精要,大家也可以參考其他的譯本形成你的理解和潤色版本。
- 美觀勝於醜陋
- 明確勝於隱晦
- 簡單勝過複雜
- 複雜勝過錯綜複雜
- 扁平勝過嵌套
- 稀疏勝過密集
- 可讀性很重要
- 特殊情況不足以違反規則
- 雖然,實用性勝過純潔性
- 錯誤絕不應該悄悄傳遞
- 除非顯式消除
- 面對歧義 要拒絕猜測的誘惑
- 盡量找一種 最好是唯一一種明顯的解決方案
- 雖然這種方式一開始可能並不明顯 (除非你是荷蘭人)
- 現在有總比永遠沒有好
- 雖然將來總比現在好
- 如果一個實現難以解釋 那就是個壞思路
- 如果一個實現易於解釋 那它可能是一個好思路
- 命名空間是一個非常棒的想法 讓我們做更多的命名空間!
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive
對這篇文章感覺如何?
太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
More in:Linux中國
Let's Encrypt 正式發布,已經保護 380 萬個域名
由於 Let's Encrypt 讓安裝 X.509 TLS 證書變得非常簡單,所以這個數量增長迅猛。
關於Linux防火牆iptables的面試問答
Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
Lets Encrypt 已被所有主流瀏覽器所信任
旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...
SSL/TLS 加密新紀元 – Lets Encrypt
根據 Let's Encrypt 官方博客消息,Let's Encrypt 服務將在下周(11 月 16 日)正式對外開放。 Let's Encrypt 項目是由互聯網安全研究小組(ISRG,Internet Security Research Group)主導並開發的一個新型數字證書認證機構(CA,Certificate ...

















