有意思的Python之禪——與編程有關(guān),更與人生有關(guān)

即將出版的新書(shū),可以先去讀者圈看一看

我正在編輯一本互聯(lián)網(wǎng)技術(shù)的書(shū)稿,《Python編程基礎(chǔ)與HTTP接口測(cè)試》。這本書(shū)不厚,因?yàn)樽髡哒f(shuō),我想教給大家的是一種學(xué)習(xí)方法,而不是語(yǔ)句本身。

Python是一款純粹的自由軟件,每個(gè)人都可以為它做貢獻(xiàn)。我在書(shū)里發(fā)現(xiàn)有一段非常有意思的Python之禪。這段禪語(yǔ),不是Python的創(chuàng)始人寫(xiě)的,是一個(gè)叫Tim Peter寫(xiě)的,被官方認(rèn)可為Python的編程原則。

本書(shū)作者阿奎說(shuō):Python之禪,體現(xiàn)了Python這門語(yǔ)言的設(shè)計(jì)哲學(xué),其中的很多觀點(diǎn)對(duì)于日常的編程也是很有指導(dǎo)意義的。

讀完這些禪語(yǔ),我覺(jué)得它不僅僅與編程有關(guān),更與人生有關(guān)。這些話更讓我覺(jué)得,每一個(gè)優(yōu)秀的“攻城獅”和“程序媛”,原來(lái)都是哲學(xué)家。反之,如果沒(méi)有經(jīng)過(guò)深入的哲學(xué)和人文科學(xué)的學(xué)習(xí)和積累,一個(gè)只愛(ài)理工科的人,也不容易成為優(yōu)秀的編程者。

來(lái),讀一下這些禪語(yǔ)吧!他們一點(diǎn)不深?yuàn)W,但是真的很哲學(xué)。

The Zen of Python, by Tim Peters

Python之禪,蒂姆?彼得斯


Beautiful is better than ugly.


優(yōu)美勝過(guò)丑陋。


Explicit is better than implicit.


顯示勝過(guò)隱式。


Simple is better than complex.


簡(jiǎn)單勝過(guò)復(fù)雜。


Complex is better than complicated.


復(fù)雜勝過(guò)繁復(fù)。


Flat is better than nested.


串行勝過(guò)嵌套。


Sparse is better than dense.


稀疏勝過(guò)稠密。


Readability counts.


可讀性很重要。


Special cases aren't special enough to break the rules. Although practicality beats purity.


雖然理想很豐滿,現(xiàn)實(shí)很骨感,但是所謂特例并不足以打破上面的這些規(guī)則。


Errors should never pass silently. Unless explicitly silenced.


所有錯(cuò)誤都不應(yīng)該被直接忽略,除非能夠被精確的捕獲之后。(其中一個(gè)典型的例子就是,不建議用Exception:pass來(lái)直接忽略所有異常。)


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.


當(dāng)面對(duì)不明確的情況時(shí),要拒絕去猜測(cè)的誘惑。應(yīng)該有一種,最好是唯一一種,顯而易見(jiàn)的解決方案。盡管起初,那種解決方案可能并不是那么顯而易見(jiàn),因?yàn)槟悴皇荘ython 之父(這里的Dutch是指Python之父Guido Van Rossum,他是荷蘭人。)


Now is better than never. Although never is often better than right now.


現(xiàn)在行動(dòng)勝過(guò)永不開(kāi)始。盡管,永不開(kāi)始經(jīng)常好過(guò)沖動(dòng)的開(kāi)始。


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.


如果你的實(shí)現(xiàn)難于向別人解釋,這往往不是個(gè)好主意。如果你的實(shí)現(xiàn)很容易向別人解釋,這可能是個(gè)好主意。


Namespaces are one honking great idea -- let's do more of those!


命名空間是一個(gè)令人激動(dòng)的偉大想法,讓我們將它發(fā)揚(yáng)光大。





我是簡(jiǎn)書(shū)出版合伙人書(shū)香云舍-張瑞喜,關(guān)于出版,歡迎找我。

簡(jiǎn)書(shū)出版首批版權(quán)合伙人公布

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容