新聞中心
歡迎閱讀“Python 光明節(jié)(Pythonukkah)”系列文章,這個系列文章將會討論《Python 之禪》。我們首先來看《Python 之禪》里的前兩個原則:美觀與明確。
尼瑪ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
早在 1999 年,Python 的貢獻(xiàn)者之一,Tim Peters 就提出了《Python 之禪》,直到二十年后的今天,《Python 之禪》中的 19 條原則仍然對整個社區(qū)都產(chǎn)生著深遠(yuǎn)的影響。為此,就像慶典光明的光明節(jié)Hanukkah一樣,我們舉行了這一次的“Python 光明節(jié)Pythonukkah”。首先,我們會討論《Python 之禪》中的前兩個原則:美觀和明確。
“Hanukkah is the Festival of Lights,
Instead of one day of presents, we get eight crazy nights.”
—亞當(dāng)·桑德勒,光明節(jié)之歌
美觀勝于丑陋
著名的《計算機程序的構(gòu)造和解釋Structure and Interpretation of Computer Programs》中有這么一句話:代碼是寫給人看的,只是恰好能讓機器運行。Programs must be written for people to read and only incidentally for machines to execute.機器并不在乎代碼的美觀性,但人類在乎。
閱讀美觀的代碼對人們來說是一種享受,這就要求在整套代碼中保持一致的風(fēng)格。使用諸如 Black、flake8、Pylint 這一類工具能夠有效地接近這一個目標(biāo)。
但實際上,只有人類自己才知道什么才是真正的美觀。因此,代碼審查和協(xié)同開發(fā)是其中的不二法門,同時,在開發(fā)過程中傾聽別人的意見也是必不可少的。
最后,個人的主觀能動性也很重要,否則一切工具和流程都會變得毫無意義。只有意識到美觀的重要性,才能主動編寫出美觀的代碼。
這就是為什么美觀在眾多原則當(dāng)中排到了首位,它讓“美”成為了 Python 社區(qū)的一種價值。如果有人要問,”我們真的在乎美嗎?“社區(qū)會以代碼給出肯定的答案。
明確勝于隱晦
人類會歡慶光明、懼怕黑暗,那是因為光能夠讓我們看到難以看清的事物。同樣地,盡管有些時候我們會不自覺地把代碼寫得含糊不清,但明確地編寫代碼確實能夠讓我們理解很多抽象的概念。
“為什么類方法中要將 self 顯式指定為第一個參數(shù)?”
這個問題已經(jīng)是老生常談了,但網(wǎng)絡(luò)上很多流傳已久的回答都是不準(zhǔn)確的。在編寫元類metaclass時,顯式指定 self 參數(shù)就顯得毫無意義。如果你沒有編寫過元類,希望你可以嘗試一下,這是很多 Python 程序員的必經(jīng)之路。
顯式指定 self 參數(shù)的原因并不是 Python 的設(shè)計者不想將這樣的元類視為“默認(rèn)”元類,而是因為第一個參數(shù)必須是顯式的。
即使 Python 中確實允許非顯式的情況存在(例如上下文變量),但我們還是應(yīng)該提出疑問:某個東西是不是有存在的必要呢?如果非顯式地傳遞參數(shù)會不會出現(xiàn)問題呢?有些時候,由于種種原因,這是會有問題的??傊趯懘a時一旦能夠優(yōu)先考慮到明確性,至少意味著能對不明確的地方提出疑問并對結(jié)果作出有效的估計。
網(wǎng)站名稱:為什么Python代碼要寫得美觀而明確
鏈接分享:http://fisionsoft.com.cn/article/djcghgj.html


咨詢
建站咨詢

