module_name,函數
package_name,ui
ClassName,it
method_name,io
ExceptionName,table
function_name,function
GLOBAL_VAR_NAME,class
instance_var_name,import
function_parameter_name,變量
local_var_name.module
應該避免的名稱
- 單字符名稱, 除了計數器和迭代器.
- 包/模塊名中的連字符(-)
- 雙下劃線開頭並結尾的名稱(Python保留, 例如__init__)
命名約定
- 所謂"內部(Internal)"表示僅模塊內可用, 或者, 在類內是保護或私有的.
- 用單下劃線(_)開頭表示模塊變量或函數是protected的(使用import * from時不會包含).
- 用雙下劃線(__)開頭的實例變量或方法表示類內私有.
- 將相關的類和頂級函數放在同一個模塊裏. 不像Java, 不必限制一個類一個模塊.
- 對類名使用大寫字母開頭的單詞(如CapWords, 即Pascal風格), 可是模塊名應該用小寫加下劃線的方式(如lower_with_under.py). 儘管已經有不少現存的模塊使用相似於CapWords.py這樣的命名, 但如今已經不鼓勵這樣作, 由於若是模塊名碰巧和類名一致, 這會讓人困擾.
Python之父Guido推薦的規範
Type | Public | Internal |
---|---|---|
Modules | lower_with_under | _lower_with_under |
Packages | lower_with_under | |
Classes | CapWords | _CapWords |
Exceptions | CapWords | |
Functions | lower_with_under() | _lower_with_under() |
Global/Class Constants | CAPS_WITH_UNDER | _CAPS_WITH_UNDER |
Global/Class Variables | lower_with_under | _lower_with_under |
Instance Variables | lower_with_under | _lower_with_under (protected) or __lower_with_under (private) |
Method Names | lower_with_under() | _lower_with_under() (protected) or __lower_with_under() (private) |
Function/Method Parameters | lower_with_under | |
Local Variables | lower_with_under |