Python程式設計慣例

2022-09-14 23:18:22 字數 3034 閱讀 3950

「慣例」這個詞指的是「習慣的做法,常規的辦法,一貫的做法」,與這個詞對應的英文單詞叫「idiom」。由於python跟其他很多程式語言在語法和使用上還是有比較顯著的差別,因此作為乙個python開發者如果不能掌握這些慣例,就無法寫出「pythonic」的**。下面我們總結了一些在python開發中的慣用的**。

讓**既可以被匯入又可以被執行。

if __name__ == '__main__':

用下面的方式判斷邏輯「真」或「假」。

if x:

if not x:

好的**:

name = 'jackfrued'

owners =

if name and fruits and owners:

print('i love fruits!')

不好的**:

name = 'jackfrued'

owners =

if name != '' and len(fruits) > 0 and owners != {}:

print('i love fruits!')

善於使用in運算子。

if x in items: # 包含

for x in items: # 迭代

好的**:

name = 'hao luo'

if 'l' in name:

print('the name has an l in it.')

不好的**:

name = 'hao luo'

if name.find('l') != -1:

print('this name has an l in it!')

不使用臨時變數交換兩個值。

a, b = b, a

用序列構建字串。

好的**:

chars = ['j', 'a', 'c', 'k', 'f', 'r', 'u', 'e', 'd']

name = ''.join(chars)

print(name) # jackfrued

不好的**:

chars = ['j', 'a', 'c', 'k', 'f', 'r', 'u', 'e', 'd']

name = ''

for char in chars:

name += char

print(name) # jackfrued

eafp優於lbyl。

eafp - easier to ask forgiveness than permission.

lbyl - look before you leap.

好的**:

d = 

try:

value = int(d['x'])

print(value)

except (keyerror, typeerror, valueerror):

value = none

不好的**:

d = 

if 'x' in d and isinstance(d['x'], str) \

and d['x'].isdigit():

value = int(d['x'])

print(value)

else:

value = none

使用enumerate進行迭代。

好的**:

fruits = ['orange', 'grape', 'pitaya', 'blueberry']

for index, fruit in enumerate(fruits):

print(index, ':', fruit)

不好的**:

fruits = ['orange', 'grape', 'pitaya', 'blueberry']

index = 0

for fruit in fruits:

print(index, ':', fruit)

index += 1

用生成式生成列表。

好的**:

data = [7, 20, 3, 15, 11]

result = [num * 3 for num in data if num > 10]

print(result) # [60, 45, 33]

不好的**:

data = [7, 20, 3, 15, 11]

result =

for i in data:

if i > 10:

print(result) # [60, 45, 33]

用zip組合鍵和值來建立字典。

好的**:

keys = ['1001', '1002', '1003']

values = ['駱昊', '王大錘', '白元芳']

d = dict(zip(keys, values))

print(d)

不好的**:

keys = ['1001', '1002', '1003']

values = ['駱昊', '王大錘', '白元芳']

d = {}

for i, key in enumerate(keys):

d[key] = values[i]

print(d)

說明:這篇文章的內容來自於網路,有興趣的讀者可以閱讀原文。

Python程式設計慣例

慣例 這個詞指的是 習慣的做法,常規的辦法,一貫的做法 與這個詞對應的英文單詞叫 idiom 由於python跟其他很多程式語言在語法和使用上還是有比較顯著的差別,因此作為乙個python開發者如果不能掌握這些慣例,就無法寫出 pythonic 的 下面我們總結了一些在python開發中的慣用的 讓...

Python變數命名規則及慣例

變數命名 語法 下劃線或字母 任意數目的字母 數字或下劃線 變數名必須以下劃線或字母開頭,而後面接任意數目的字母 數字或下劃線。區分大小寫 spam和spam不同 禁止使用保留字 命名慣例 以單一下劃線開頭的變數名 x 不會被 from module import 語句匯入 前後有下劃線的變數名 x...

c 編碼慣例

1.避免在乙個檔案中放多個類。2.乙個檔案應該只對乙個命名空間提供型別。避免在同一檔案中有多個命名空間。3.避免檔案長度超過500行 除了機器自動產生的 4.避免方法定義超過25行。5.避免超過5個引數的方法。使用結構傳遞多個引數。6.每行應該不超過80個字元。7.不要手工編輯任何機器生成的 8.避...