下面是最簡單的Python程序:
import this
運行之後,便可以得到如下的輸出了:
The Zen of Python, by Tim Peters Python之禅--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語言的創建者( Guido van Rossum[1] 是Dutch)。
這裡的Dutch是指Guido van Rossum
▲ Guido van Rossum
- 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!:命名空間是一個絕妙的理念,我們應該多加利用它。
除非你不打算今後不再閱讀你的代碼,清晰合理的命名空間是使得代碼進行維護和更新的基石。
參考資料
[1] Guido van Rossum: https://gvanrossum.github.io//
, 更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!