Python編寫規(guī)范

一、代碼編排

1.縮進(jìn):使用4個空格縮進(jìn)
2.行長度:每行不要超過80個字符
3.空行:頂級定義之間空兩行盈匾,如函數(shù)或類的定義腾务,方法定義、類定義與第一個方法之間都應(yīng)該空一行削饵。
4.分號:行尾不要有分號岩瘦,也不要用分號將兩條命令放在一行,除非是:1.長的導(dǎo)入模塊語句。2.注釋里的URL.3.可以使用圓括號實現(xiàn)隱式行連接

二窿撬、文檔編排

1.導(dǎo)入:模塊注釋->文檔字符串->導(dǎo)入->模塊全局變量->常量
        導(dǎo)入順序:標(biāo)準(zhǔn)庫導(dǎo)入->第三方庫導(dǎo)入->應(yīng)用程序指定庫導(dǎo)入
2.import:不要在一行中import多個庫启昧,一行中只導(dǎo)入一個

三、空格

1.不要在逗號劈伴、分號密末、冒號前加空格,但應(yīng)在他們后面加(除了在行尾)
2.二元操作符(賦值跛璧、比較严里、布爾)兩邊都加空格
3.當(dāng)"="用于指示關(guān)鍵字參數(shù)或默認(rèn)參數(shù)值是,不要再其兩側(cè)使用空格
4.","和"#"和"="不需要對齊追城,因為空格會成為維護(hù)的負(fù)擔(dān)

四刹碾、注釋

總體原則,錯誤的注釋不如沒有注釋座柱。
注釋必須使用英文迷帜,最好是完整的句子物舒,首字母大寫,句后要有結(jié)束符戏锹,結(jié)束符后跟兩個空格冠胯,開始下一句。如果是短語锦针,可以省略結(jié)束符荠察。
1.塊注釋:在一段代碼前增加的注釋。在"#"后加一空格奈搜。段落之間以只有"#"的行間隔割粮。
2.行注釋,在一句代碼后加注釋媚污。進(jìn)來少使用.
3.絕不要描述代碼. 假設(shè)閱讀代碼的人比你更懂Python, 他只是不知道你的代碼要做什么.

五、文檔描述

1.為所有的共有模塊廷雅、函數(shù)耗美、類、方法寫docstrings航缀;非共有的沒有必要商架,但是可以寫注釋(在def的下一行)。
2.如果docstring要換行芥玉,參考如下例子
class SampleClass(object):
    """Summary of class here.

    Longer class information....
    Longer class information....

    Attributes:
    likes_spam: A boolean indicating if we like SPAM or not.
    eggs: An integer count of the eggs we have laid.
    """

    def __init__(self):
        """Inits SampleClass with blah."""

六蛇摸、命名規(guī)范

1.盡量單獨使用小寫字母‘l’,大寫字母‘O’等容易混淆的字母灿巧。
2.模塊名盡量短小赶袄,應(yīng)該用小寫加下劃線的方式(如lower_with_under.py).
3.包命名盡量短小,使用全部小寫的方式抠藕,不可以使用下劃線饿肺。
4.類名使用大寫字母開頭的單詞(如CapWords, 即Pascal風(fēng)格)
5.函數(shù)命名使用全部小寫的方式,可以使用下劃線盾似。
6.變量也用小寫加下劃線的方式敬辣,即this_is_a_variable=1
7.常量命名使用全部大寫的方式,可以使用下劃線零院。
8.類的屬性(方法和變量)命名使用全部小寫的方式溉跃,可以使用下劃線。
9.類的方法第一個參數(shù)必須是self告抄,而靜態(tài)方法第一個參數(shù)必須是cls撰茎。
10.用單下劃線(_)開頭表示模塊變量或函數(shù)是protected的(使用import * from時不會包含).
11.用雙下劃線(__)開頭的實例變量或方法表示類內(nèi)私有.

七、Main:即使是一個打算被用作腳本的文件, 也應(yīng)該是可導(dǎo)入的.

并且簡單的導(dǎo)入不應(yīng)該導(dǎo)致這個腳本的主功能(main functionality)被執(zhí)行
代碼應(yīng)該在執(zhí)行主程序前總是檢查 if __name__ == '__main__'
    def main():
        ...

    if __name__ == '__main__':
        main()

八玄妈、字符串:

避免在循環(huán)中用+和+=來累加字符串乾吻,可以將每個子串加入列表髓梅,然后再循環(huán)結(jié)束后使用.join連接列表
    items = ['<table>']
    for last_name, first_name in employee_list:
        items.append('<tr><td>%s, %s</td></tr>' % (last_name, first_name))
    items.append('</table>')
    employee_table = ''.join(items)
同一文件中保持使用字符串引號的一致性
多行字符串使用三重"雙"引號,不過通常使用括號隱式連接

九绎签、其他

括號:寧缺毋濫的使用括號
類:若一個類不繼承自其它類枯饿,就顯式的從object繼承,即使是嵌套類
語句:通常每個語句獨占一行,try/except一定不放在一行
文件和sockets:在文件和sockets結(jié)束時诡必,顯式的關(guān)閉它奢方,推薦with語句管理文件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市爸舒,隨后出現(xiàn)的幾起案子蟋字,更是在濱河造成了極大的恐慌,老刑警劉巖扭勉,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鹊奖,死亡現(xiàn)場離奇詭異,居然都是意外死亡涂炎,警方通過查閱死者的電腦和手機忠聚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來唱捣,“玉大人两蟀,你說我怎么就攤上這事≌痃裕” “怎么了赂毯?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長拣宰。 經(jīng)常有香客問我党涕,道長,這世上最難降的妖魔是什么徐裸? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任遣鼓,我火速辦了婚禮,結(jié)果婚禮上重贺,老公的妹妹穿的比我還像新娘骑祟。我一直安慰自己,他們只是感情好气笙,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布次企。 她就那樣靜靜地躺著,像睡著了一般潜圃。 火紅的嫁衣襯著肌膚如雪缸棵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天谭期,我揣著相機與錄音堵第,去河邊找鬼吧凉。 笑死,一個胖子當(dāng)著我的面吹牛踏志,可吹牛的內(nèi)容都是我干的阀捅。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼针余,長吁一口氣:“原來是場噩夢啊……” “哼饲鄙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起圆雁,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤忍级,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后伪朽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體轴咱,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年烈涮,在試婚紗的時候發(fā)現(xiàn)自己被綠了嗦玖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡跃脊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出苛吱,到底是詐尸還是另有隱情酪术,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布翠储,位于F島的核電站绘雁,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏援所。R本人自食惡果不足惜庐舟,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望住拭。 院中可真熱鬧挪略,春花似錦、人聲如沸滔岳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谱煤。三九已至摊求,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間刘离,已是汗流浹背室叉。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工睹栖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人茧痕。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓野来,卻偏偏與公主長得像,于是被迫代替她去往敵國和親凿渊。 傳聞我的和親對象是個殘疾皇子梁只,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)埃脏,斷路器搪锣,智...
    卡卡羅2017閱讀 134,633評論 18 139
  • Python是一種對代碼風(fēng)格很重視的語言,從縮進(jìn)就能看出這一點彩掐,Python強調(diào)易于理解构舟。最近在負(fù)責(zé)代碼重構(gòu)的工作...
    知曰閱讀 10,838評論 1 85
  • 源地址:http://www.runoob.com/w3cnote/google-python-styleguid...
    skaiger閱讀 506評論 0 0
  • 更新時間:2016/5/13 介紹 本文檔所提供的編碼規(guī)范,適用于主要的Python發(fā)行版中組成標(biāo)準(zhǔn)庫的Pytho...
    超net閱讀 5,848評論 0 15
  • 相親 上 蓮子是個有故事的人堵幽,情傷和離婚的震蕩是她所不能獨自消化的狗超,她必須讓自己去面對自己的療愈,給創(chuàng)造孩子一個良...
    夕夕子月閱讀 344評論 0 1