實用的python編碼規範

編碼規範在程序開發中是一項很重要要求,良好的編碼規範對程序的可讀性、代碼的可維護性都有很大的提高,從而提高開發效率。下面總結了python中一些實用的開發規範,供大家借鑑和參考。

1.每行不超過80個字符

每行代碼太長既不美觀也影響可讀性,當需要寫一行長代碼時,可以使用圓括號將這行代碼包起來,並在適當的地方換行。這樣易讀且美觀。像下面這樣:

實用的python編碼規範

不要使用反斜槓連接多行。

這種方式在導包時也適用,如果一個庫中需要導入很多模塊,可以使用圓括號將需導入的模塊包起來,並在適當的地方換行,像下面這樣:

實用的python編碼規範

2.使用4個空格縮進代碼

你可能遇到過這種情況,在Pycharm中寫好的代碼上傳到Linux服務器上,運行後會提示代碼縮進錯誤。這是因為在Pycharm中,你使用的是Tab進行縮進,導致在Linux服務器上出錯。

所以,要使用4個空格,而不是Tab鍵進行縮進。

3.適當的使用條件表達式

適當的使用條件表達式,可以使代碼看起來簡潔,像下面這樣:

flag = request.POST.get(“flag”)
flag = 1 if flag == 1 else 2

4.列表推導和生成器表達式

適當的使用列表推到和生成器表達式,也可以使代碼看起來簡潔,像下面這樣:

students = [1, 2, 3, 4, 5, 6, 7, 8]
group = [ id for id in students if id%2 == 0 ]

Lambda函數也適用於單行函數

5.使用隱式的False

在python中,0、None、[]、{}、“”這些都是False,所以我們在判斷某個變量是否是這些值時,可以直接這樣判斷:

if param:

而不是

if param != []:

上面的方式看起來簡潔多了。但是注意,0會被當作False來處理,如果你要判斷一個值是否是0,就不要用上面的方式了,只能這樣寫:

if param == 0:

6.字符串的拼接

避免在循環中用+和+=操作符來累加字符串. 由於字符串是不可變的, 這樣做會創建多餘的臨時對象, 作為替代方案, 你可以將每個子串加入列表, 然後在循環結束後用 .join 連接列表。

7.函數參數設置默認值

你可以在函數參數列表的最後指定變量的值, 例如

def foo(a, b = 0):

但是可能出現問題:

默認參數只在模塊加載時求值一次. 如果參數是列表或字典之類的可變類型, 這可能會導致問題. 如果函數修改了對象(例如向列表追加項), 默認值就被修改了.

儘量不要在函數或方法定義中使用可變對象作為默認值。

8.函數中使用文檔字符串

定義一個函數時,同時應該給它加上文檔字符串,文檔字符串中包含函數功能、函數入參、函數出參等信息,像下面這樣:

實用的python編碼規範

調用者通過文檔字符串就能知道函數的功能、入參、出參等信息。

9.字符串格式化

可以使用下面幾種方法格式化字符串

str1 = "hello %s, 今年%s歲" % (name, age)
str2 = "hello {}, 今年{}歲".format(name, age)

或者:

實用的python編碼規範

今天就到這裡,本文的總結還有不全之處,歡迎大家來補充。


分享到:


相關文章: