Python社區的理念 ————“Zen of Python"
想要獲悉這一指導原則,只要在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.
......
The Zen of Python, by Tim Peters
python之禅,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.
除非你是荷蘭人,否則這種方式一開始可能並不明顯(這裡指的是Python之父Guido)
Now is better than never.
現在開始做比不做好,所以如果想學編程卻還在猶豫,請開動吧!
Although never is often better than right now.
不做比盲目去做好,極限編程的關鍵原則[YAGNI 是You Ain’t Gonna Need It(你不會需要它)]。即不要不要做過度設計
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!
命名空間是一個非常棒的想法——讓我們更多地使用命名空間!(避免多人開發導致變量名重名情況,人手設置一個)
進程已結束,退出代碼0,你現在是否學會了優秀代碼的秘訣了呢?