1. 程式人生 > >PEP8-Python編程規範

PEP8-Python編程規範

大寫 全局 劃線 相對路徑 兩個 name arguments cti ==

程序代碼是用來讀的, 提高代碼可讀性需要掌握PEP8代碼規範

這需要堅持一致性考慮

1 關於空格

  縮進使用4空格

  括號換行時, 有三種範例可以遵守

# 對準左括號
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

# 不對準左括號,但加多一層縮進,以和後面內容區別。
def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

# 懸掛縮進必須加多一層縮進.
foo = long_function_name(
    var_one, var_two,
    var_three, var_four)

  右括號回退

# 右括號回退
my_list = [
    1, 2, 3,
    4, 5, 6,
]
result = some_function_that_takes_arguments(
    ‘a‘, ‘b‘, ‘c‘,
    ‘d‘, ‘e‘, ‘f‘,
)

  一行最多72個字符, 超過之後需要換行

  括號與括號內容之間不應該有空格

# 括號裏邊避免空格
# 推薦
spam(ham[1], {eggs: 2})
# 不推薦
spam( ham[ 1 ], { eggs: 2 } )

  逗號, 冒號, 分號分割數據的時候應該緊跟左邊的內容, 與右邊內容之間加一個空格

# 逗號,冒號,分號之前避免空格
# Yes
if x == 4: print x, y; x, y = y, x
# No
if x == 4 : print x , y ; x , y = y , x

  索引的冒號之間不應搞有空格

  二元運算符, =, +=, -=, ... and, or等前後有要有空格

  +. -前後要有空格, *, / 前後不應該有空格

  函數定義的參數列表, 每個參數之間用逗號分隔, 前面不加空格, 後面加空格

  函數定義的參數列表中的默認參數的=前後不應該有空格

  類似if/else等後面加冒號後面跟程序塊的, 不要和if/else寫在一行

  註釋#後面加一個空格

2 關於換行

  在類中, 類名和第一個函數間隔2行

  在類中, 類中的函數之間間隔1行

3 關於導入

  單獨的import後面最好是單個

  from..import可以不是單個

  推薦是用絕對路徑導入, 不推薦使用相對路徑導入

  盡量避免通配符導入, 如盡量少使用*

4 關於命名

  模塊名全部使用小寫字母, 使用下劃線來增加可讀性

  包的命名和模塊差不多, 但是包最好不要用下劃線

  類名, 首字母大寫, 采用駝峰寫法

  函數名, 全部使用小寫字母

  全局變量, 全部是用大寫字母, 可以使用下劃線來增加可讀性

  私有變量, 變量名字前面加上一個下劃線

  特殊變量. 變量名字前後都加上兩個下劃線

PEP8-Python編程規範