應該避免的名稱
以下命名應該盡量避免
- 單字符名稱, 除了計數器和迭代器.
if __name__ == '__main__':
# 不推薦的寫法
# 盡量避免單字符變量名
s = "hello world!"
- 包/模塊名中的連字符(-)
# 錯誤的包名
# 引用文件 html-parser.py
import html-parser
# 正確的寫法
# 文件名應為 html_parser.py
import html_parser
- 雙下劃線開頭并結尾的名稱(Python保留, 例如__init__)
- 應避免使用小寫字母l(L),大寫字母O(o)或I(i)單獨作為一個變量的名稱,以區分數字1和0
if __name__ == '__main__':
# 不推薦的寫法
# 盡量避免l、O 等容易混淆的字母
l = 1
O = 0
l = (O + 1)*l
- 當參數名稱和Python保留字沖突,可在最后添加一個下劃線,而不是使用縮寫或自造的詞
# 如果變量名和python保留字沖突,則在末尾添加下劃線
# 切記不要自己造詞,或者使用縮寫
def print_():
... ...
if __name__ == '__main__':
str_ = "hello world!"
print_(str_)
命名約定
模塊
- 模塊盡量使用小寫命名,首字母保持小寫,盡量不要用下劃線(除非多個單詞,且數量不多的情況)
# 正確的模塊名
import decoder
import html_parser
# 不推薦的模塊名
import Decoder
類名
- 類名使用駝峰(CamelCase)命名風格,首字母大寫,私有類可用一個下劃線開頭
class Farm():
pass
class AnimalFarm(Farm):
pass
class _PrivateFarm(Farm):
pass
- 將相關的類和頂級函數放在同一個模塊里. 不像Java, 沒必要限制一個類一個模塊.
函數
- 函數名一律小寫,如有多個單詞,用下劃線隔開
def run():
pass
def run_with_env():
pass
- 私有函數在函數前加一個下劃線_
class Person():
def _private_func():
pass
變量名
- 變量名盡量小寫, 如有多個單詞,用下劃線隔開
if __name__ == '__main__':
count = 0
school_name = ''
- 常量采用全大寫,如有多個單詞,使用下劃線隔開
MAX_CLIENT = 100
MAX_CONNECTION = 1000
CONNECTION_TIMEOUT = 600