創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
站在用戶的角度思考問題,與客戶深入溝通,找到定日網(wǎng)站設(shè)計與定日網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋定日地區(qū)。小編給大家分享一下python的編碼規(guī)則是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
python的編碼規(guī)則基本遵從 PEP 準(zhǔn)則。
但是,命名和單行長度更靈活。
PEP8 涵蓋了諸如空格、函數(shù)/類/方法之間的換行、import、對已棄用功能的警告之類的尋常東西,大都不錯。
應(yīng)用這些準(zhǔn)則的最佳工具是 flake8,還可以用來發(fā)現(xiàn)一些愚蠢的語法錯誤。
PEP8 原本只是一組指導(dǎo)原則,不必嚴(yán)格甚至虔誠地信奉。一定記得閱讀 PEP8 「愚蠢的一致性就是小人物的小妖精」一節(jié)。若要進(jìn)一步了解,可以聽一下 Raymond Hettinger 的精彩演講,「超越 PEP8」。
唯一引起過多爭議的準(zhǔn)則事關(guān)單行長度和命名。要調(diào)整起來也不難。
靈活的單行長度
若是厭煩 flake8 死板的單行長度不得超過 79 個字符的限制,完全可以忽略或修改這一準(zhǔn)則。這仍然不失為一條不錯的經(jīng)驗(yàn)法則,就像英語中句子不能超過 50 個單詞,段落不能超過 10 個句子之類的規(guī)則一樣。這是 flake8 配置文件 的鏈接,可以看到 max-line-length配置選項(xiàng)。值得注意的是,可以給要忽略 flake8 檢查的那一行加上 # noqa 注釋,但是請勿濫用。
盡管如此,超過九成的代碼行都不應(yīng)該超過 79 個字符,原因很簡單,「扁平勝于嵌套」。如果函數(shù)每一行都超出了 79 個字符,肯定有別的東西出錯了,這時要看看代碼而不是 flake8 配置。
一致的命名
關(guān)于命名,遵循幾條簡單的準(zhǔn)則就可以避免眾多足以影響整個小組的麻煩。
推薦的命名規(guī)則
下面這些準(zhǔn)則大多改編自 Pacoo 小組。
類名:駝峰式 和首字母縮略詞:HTTPWriter 優(yōu)于 HttpWriter。
變量名:lower_with_underscores。
方法名和函數(shù)名:lower_with_underscores。
模塊名:lower_with_underscores.py。(但是不帶下劃線的名字更好!)
常量名:UPPER_WITH_UNDERSCORES。
預(yù)編譯的正則表達(dá)式:name_re。
通常都應(yīng)該遵循這些準(zhǔn)則,除非要參照其他工具的命名規(guī)范,比如數(shù)據(jù)庫 schema 或者消息格式。
還可以用 駝峰式 給類似類卻不是類的東西命名。使用 駝峰式 的主要好處在于讓人們以「全局名詞」來關(guān)注某個東西,而不是看作局部標(biāo)記或動詞。值得注意的是,Python 給 True,F(xiàn)alse 和 None 這些根本不是類的東西命名也是用 駝峰式。
不要用前綴后綴
…… 比如 _prefix 或 suffix_ 。函數(shù)和方法名可以用 _prefix 標(biāo)記來暗示其是「私有的」,但是最好只在編寫預(yù)期會廣泛使用的 API 以及用 _prefix 標(biāo)記來隱藏信息的時候謹(jǐn)慎使用。
PEP8 建議使用結(jié)尾的下劃線來避免與內(nèi)置關(guān)鍵字重名,比如:
sum_ = sum(some_long_list) print(sum_)
臨時這樣用也可以,不過最好還是選一個別的名字。
用 __mangled 這種雙下劃線前綴給類/實(shí)例/方法命名的情況非常少,這實(shí)際上涉及特殊的名字修飾,非常罕見。不要起 __dunder__ 這種格式的名字,除非要實(shí)現(xiàn) Python 標(biāo)準(zhǔn)協(xié)議,比如 __len__;這是為 Python 內(nèi)部協(xié)議保留的命名空間,不應(yīng)該在其中增加自定義的東西。
不要用單字符名字
(不過)一些常見的單字符名字可以接受。
在 lambda 表達(dá)式中,單參數(shù)函數(shù)可以命名為 x 。比如:
encode = lambda x: x.encode("utf-8", "ignore")
解包元組時可以用 _ 丟棄不需要的標(biāo)記。比如:
_, url, urlref = data
意思就是說「忽略第一個元素」。
和 lambda 類似,在解析列表/字典/集合的時候,以及在生成器表達(dá)式或者一到兩行的 for 循環(huán)中,可以使用單字符迭代標(biāo)記。通常選擇 x,比如:
sum(x for x in items if x > 0)
可以求 items 序列中所有正整數(shù)之和。
此外比較常見的是 i,代表 index,通常和內(nèi)置的 枚舉 一起使用。比如:
for i, item in enumerate(items): print("%4s: %s" % (i, item))
除卻上述情形,要極少甚至避免使用單字符用作標(biāo)記/參數(shù)/方法的名字。因?yàn)檫@樣就無法用grep 進(jìn)行檢索了。
以上是python的編碼規(guī)則是什么的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!