摘要:之禪與之禪是語言的設(shè)計哲學(xué)與所倡導(dǎo)的編程理念,則是指基于理念編寫更加符合語法習(xí)慣的代碼,這也是本項目所追求的目標(biāo),因此以本篇作為開頭。
Python 之禪與 Pythonic
Python 之禪是 Python 語言的設(shè)計哲學(xué)與所倡導(dǎo)的編程理念,Pythonic 則是指基于 Python 理念編寫更加符合 Python 語法習(xí)慣(idiomatic Python)的代碼,這也是本項目所追求的目標(biāo),因此以本篇作為開頭。
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. 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. 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!
Python 之禪,by Tim Peters
優(yōu)美勝于丑陋
明確勝于隱晦
簡單勝于復(fù)雜
復(fù)雜勝于凌亂
扁平勝于嵌套
稀疏勝于緊湊
可讀性至關(guān)重要
即便特例,也需服從以上規(guī)則
除非刻意追求,錯誤不應(yīng)跳過
面對歧義條件,拒絕嘗試猜測
解決問題的最優(yōu)方法應(yīng)該有且只有一個
盡管這一方法并非顯而易見(除非你是Python之父)
動手勝于空想
空想勝于不想
難以解釋的實現(xiàn)方案,不是好方案
易于解釋的實現(xiàn)方案,才是好方案
命名空間是個絕妙的理念,多多益善!
參考《Python之禪》的翻譯和解釋
What is Pythonic?
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/37799.html
摘要:項目地址中的函數(shù)式編程函數(shù)式編程英語或稱函數(shù)程序設(shè)計,又稱泛函編程,是一種編程范型,它將電腦運算視為數(shù)學(xué)上的函數(shù)計算,并且避免使用程序狀態(tài)以及易變對象。 項目地址:https://git.io/pytips Python 中的函數(shù)式編程 函數(shù)式編程(英語:functional programming)或稱函數(shù)程序設(shè)計,又稱泛函編程,是一種編程范型,它將電腦運算視為數(shù)學(xué)上的函數(shù)計算,并且...
摘要:最終還是要寫上足夠量的代碼,才會有悟道的那一刻。另外,對于代碼本身,有一套書寫規(guī)范,叫做。 Python 里有個小彩蛋: 在 Python Shell 里輸入 import this showImg(https://segmentfault.com/img/remote/1460000018394156?w=600&h=463); 這段話被稱作 Python 之禪 ( The Zen ...
摘要:項目地址列表推導(dǎo)中提到的方法可以通過簡化的語法快速構(gòu)建我們需要的列表或其它可迭代對象,與它們功能相似的,還提供列表推導(dǎo)的語法。 項目地址:https://git.io/pytips 0x03 - Python 列表推導(dǎo) 0x02 中提到的 map/filter 方法可以通過簡化的語法快速構(gòu)建我們需要的列表(或其它可迭代對象),與它們功能相似的,Python 還提供列表推導(dǎo)(List C...
摘要:這里的關(guān)鍵詞函數(shù)必須明確指明,不能通過位置推斷則代表任意數(shù)量的關(guān)鍵詞參數(shù)添加的新特性,使得可以在函數(shù)參數(shù)之外使用這里的逗號不能漏掉所謂的解包實際上可以看做是去掉的元組或者是去掉的字典。 項目地址:https://git.io/pytips 函數(shù)調(diào)用的參數(shù)規(guī)則與解包 Python 的函數(shù)在聲明參數(shù)時大概有下面 4 種形式: 不帶默認(rèn)值的:def func(a): pass 帶有默認(rèn)值的...
摘要:可以通過一個簡單的例子來展示當(dāng)然,也可以用狀態(tài)變量的做法來替代總結(jié)有人覺得的這些用法違反直覺或者是而非,不值得提倡。 項目地址:https://git.io/pytips 我們都知道 Python 中 else 的基本用法是在條件控制語句中的 if...elif...else...,但是 else 還有兩個其它的用途,一是用于循環(huán)的結(jié)尾,另一個是用在錯誤處理的 try 中。這原本是 P...
閱讀 1987·2021-11-23 10:03
閱讀 4193·2021-11-22 09:34
閱讀 2495·2021-10-08 10:05
閱讀 2259·2019-08-30 15:53
閱讀 1698·2019-08-30 13:56
閱讀 1169·2019-08-29 16:52
閱讀 1118·2019-08-26 13:31
閱讀 3358·2019-08-26 11:45