「慣例」這個詞指的是「習慣的做法,常規的辦法,一貫的做法」,與這個詞對應的英文單詞叫「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 toaskforgiveness thanpermission.
lbyl -lookbeforeyouleap.
好的**:
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.避...