Python有個彩蛋,比如在交互模式下輸入import this,便會看到如下語句,這是Python的一些思想哲學以及Python的理念。
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
# 優美勝於丑陋(Python以編寫優美的代碼為目標)
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.
# 不要包容所有錯誤,除非你確定需要這樣做(精准地捕獲異常,不寫except:pass風格的代碼)
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.
# 雖然這並不容易,因為你不是 Python 之父(這裡的Dutch是指Guido)
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!
# 命名空間是一種絕妙的理念,我們應當多加利用(倡導與號召)