python 文件的組成
為了便於描述,先上一個 demo
Linux 平臺上,一個 python 源碼文件應該以下部分組成。Windows 平臺上,可以省略第一項。
- 解釋器聲明
- 編碼格式聲明
- 模塊註釋或文檔字符串
- 模塊導入
- 常量和全局變量聲明
- 頂級定義(函數或類定義)
- 執行代碼
通常,編碼格式聲明是必需的。如果 python 源碼文件沒有聲明編碼格式,python 解釋器會默認使用 ASCII 編碼,一旦源碼文件包含非ASCII編碼的字符,python 解釋器就會報錯。以 UTF-8 為例,以下兩種編碼格式聲明都是合乎規則的。
# -*- coding: utf-8 -*-
# coding = utf-8
我一直 UTF-8 編碼格式,喜歡使用第一種聲明方式。
Windows 平臺上,編碼格式聲明必須位於 python 文件的第一行。Linux 平臺上,編碼格式聲明通常位於 python 文件的第二行,第一行是 python 解釋器的路徑聲明。
縮進
統一使用 4 個空格進行縮進。絕對不要用tab, 也不要tab和空格混用。對於行連接的情況,我一般使用4空格的懸掛式縮進。例如:
引號
- 自然語言使用雙引號
- 機器標識使用單引號
- 正則表達式使用雙引號
- 文檔字符串 (docstring) 使用三個雙引號
註釋
(#)號後空一格,段落件用空行分開(同樣需要#號):
行內註釋,至少使用兩個空格和語句分開:
age += 1 # 年齡增加一歲
比較重要的註釋段, 使用多個等號隔開, 可以更加醒目, 突出重要性:
空行
- 編碼格式聲明、模塊導入、常量和全局變量聲明、頂級定義和執行代碼之間空兩行
- 頂級定義之間空兩行,方法定義之間空一行
- 在函數或方法內部,可以在必要的地方空一行以增強節奏感,但應避免連續空行
空格
- 在二元運算符兩邊各空一格,算術操作符兩邊的空格可靈活使用,但兩側務必要保持一致
- 不要在逗號、分號、冒號前面加空格,但應該在它們後面加(除非在行尾)
- 函數的參數列表中,逗號之後要有空格
- 函數的參數列表中,默認值等號兩邊不要添加空格
- 左括號之後,右括號之前不要加添加空格
- 參數列表, 索引或切片的左括號前不應加空格
文檔字符串
文檔字符串是包、模塊、類或函數里的第一個語句。這些字符串可以通過對象的doc 成員被自動提取,並且被pydoc所用。文檔字符串的使用三重雙引號(""")。如果文檔字符串內容不能在一行內寫完,首行須以句號、 問號或驚歎號結尾,接一空行,結束的三重雙引號必須獨佔一行。
導入模塊
導入總應該放在文件頂部,位於模塊註釋和文檔字符串之後,模塊全局變量和常量之前。導入應該按照從最通用到最不通用的順序分組,分組之間空一行:
- 標準庫導入
- 第三方庫導入
- 應用程序指定導入
應當避免使用以下的導入方法:
from math import *#在學習Python的過程中,很多小夥伴往往因為沒有資料或者沒人指導從而導致自己不想學下去了,因此我特意準備了大量的PDF書籍、視頻教程,都免費送給大家!不管你是零基礎還是有基礎都可以獲取到自己相對應的學習禮包!包括Python軟件工具和2019最新入門到實戰教程,(http://note.youdao.com/noteshare?id=7e3c432b74512d52b75aafc4609451b9)複製到瀏覽器打開即可看到!
命名規範
- 模塊儘量使用小寫命名,首字母保持小寫,儘量不要用下劃線
- 類名使用駝峰(CamelCase)命名風格,首字母大寫,私有類可用一個下劃線開頭
- 函數名一律小寫,如有多個單詞,用下劃線隔開
- 私有函數可用一個下劃線開頭
- 變量名儘量小寫, 如有多個單詞,用下劃線隔開
- 常量採用全大寫,如有多個單詞,使用下劃線隔開
閱讀更多 地表嘴強程序員 的文章