1. 程式人生 > 實用技巧 >Python程式規範

Python程式規範

三、python程式規範

python的設計哲學(大道至簡):優雅、明確、簡潔

在互動式直譯器中輸入``import this`會出現python之禪

Python之禪 by Tim Peters

優美勝於醜陋(Python 以編寫優美的程式碼為目標)
明瞭勝於晦澀(優美的程式碼應當是明瞭的,命名規範,風格相似)
簡潔勝於複雜(優美的程式碼應當是簡潔的,不要有複雜的內部實現)
複雜勝於凌亂(如果複雜不可避免,那程式碼間也不能有難懂的關係,要保持介面簡潔)
扁平勝於巢狀(優美的程式碼應當是扁平的,不能有太多的巢狀)
間隔勝於緊湊(優美的程式碼有適當的間隔,不要奢望一行程式碼解決問題)
可讀性很重要(優美的程式碼是可讀的)
即便假借特例的實用性之名,也不可違背這些規則(這些規則至高無上)

不要包容所有錯誤,除非你確定需要這樣做(精準地捕獲異常,不寫 except:pass 風格的程式碼)

當存在多種可能,不要嘗試去猜測
而是儘量找一種,最好是唯一一種明顯的解決方案(如果不確定,就用窮舉法)
雖然這並不容易,因為你不是 Python 之父(這裡的 Dutch 是指 Guido )

做也許好過不做,但不假思索就動手還不如不做(動手之前要細思量)

如果你無法向人描述你的方案,那肯定不是一個好方案;反之亦然(方案測評標準)

名稱空間是一種絕妙的理念,我們應當多加利用(倡導與號召)

3.1縮排

python採用嚴格的“縮排”來表明程式的格式框架,用來表示程式碼直接的包含和層次關係。

  • 1個縮排=4個空格(不建議用Tab,更不能空格與Tab混用)

    在不同的編輯器裡Tab的長度可能不一致,所以在一個編輯器裡用Tab設定縮排後,在其它編輯器裡看可能縮排就亂了。空格不會出現這個問題,因為空格就佔一個字元的位置。

    眾所周知,Tab在ASCII碼中,編碼是9,而空格是32。這也就是說,當我們按下一個Tab的時候,即使它看起來就是8個空格(或者4個空格,不同的環境下,Tab可能顯示的效果不同),對於電腦來說,卻是完全不一樣的東西。這也意味著,對於用字元來描述過程的程式碼來說,極有可能會是決定性的差異。

關於程式碼規範

3.2 註釋

註釋的作用:使用用自己熟悉的語言,在程式中對某些程式碼進行標註說明,增強程式的可讀性

3.2.1單行註釋(行註釋)

  • # 開頭,# 右邊的所有東西都被當做說明文字,而不是真正要執行的程式,只起到輔助說明作用

  • 示例程式碼如下:

# 這是第一個單行註釋
print("hello python")

為了保證程式碼的可讀性,# 後面建議先新增一個空格,然後再編寫相應的說明文字

在程式碼後面增加的單行註釋

  • 在程式開發時,同樣可以使用 # 在程式碼的後面(旁邊)增加說明性的文字

  • 但是,需要注意的是,為了保證程式碼的可讀性註釋和程式碼之間 至少要有 兩個空格

  • 示例程式碼如下:

print("hello python")  # 輸出 `hello python`

3.2.2 多行註釋(塊註釋)

  • 如果希望編寫的 註釋資訊很多,一行無法顯示,就可以使用多行註釋

  • 要在 Python 程式中使用多行註釋,可以用連續的 三個 引號(單引號和雙引號都可以)

  • 示例程式碼如下:

"""
這是一個多行註釋
在多行註釋之間,可以寫很多很多的內容……
""" 
print("hello python")

3.3 原始檔編碼

python核心釋出版本中的程式碼都是以UTF-8格式編碼,如果編碼檔案中包含中文,只需在原始檔開頭加入\# -*- coding: utf-8 -*-即可。