一起聊聊Python的編碼樣式

2022-03-23 16:00:55
本篇文章給大家帶來了關於的相關知識,其中主要介紹了Python的基本編碼規範,包括宣告編碼格式、縮排規則、註釋部分和空行使用等等,希望對大家有幫助。

推薦學習:

Python編碼規範

編碼規範 在各種程式語言中都存在,可能有的語言中體現的不是很直觀而已

如果是新手學習編寫程式碼,那麼在一開始就 熟記編碼規則 對日後的編寫規範是影響非巨大的!

下面就來簡單介紹一些初學者要牢記的幾種編碼規範,分為幾個方面來介紹,一起來看一下吧!

Python 採用 PEP 8 作為編碼規範,其中 PEPPython Enhancement Proposal(Python 增強建議書)的縮寫,8 代表的是 Python 程式碼的樣式指南。

先來看一張圖中的程式碼
在這裡插入圖片描述
對比上圖 中的兩段程式碼可以發現,它們所包含的程式碼時完全相同的

但是右側的程式碼編寫格式明顯看上去比左側的程式碼段更加規整,閱讀起來也會比較輕鬆、暢快,因為它遵循了最基本的 Python 程式碼編寫規範。

下面分為幾個部分來學習一下Python的編碼規範,讓我們的程式碼更加美觀、漂亮!


宣告編碼格式

  • 一般來說,宣告編碼格式在指令碼中是必需的

  • 如果 python 原始碼檔案 沒有宣告編碼格式,python 直譯器會預設使用 ASCII 編碼

  • 但是這樣有個缺點就是,一旦出現非ASCII編碼的字元,python 直譯器就會報錯

  • 以 UTF-8 為例,以下兩種編碼格式宣告都是合乎規則的。

# -*- coding: utf-8 -*-
# coding = utf-8

縮排規則

  • 和其它程式設計語言(如 Java、C 語言)採用大括號「{}」分隔程式碼塊不同,Python 採用程式碼縮排和冒號( : )來區分程式碼塊之間的層次。

  • 在 Python 中,對於類定義、函數定義、流程控制語句、例外處理語句等,行尾的冒號和下一行的縮排,表示下一個程式碼塊的開始,而縮排的結束則表示此程式碼塊的結束。

  • 注意,Python 中實現對程式碼的縮排,可以使用空格或者 Tab 鍵實現。但無論是手動敲空格,還是使用 Tab 鍵,通常情況下都是採用 4 個空格長度作為一個縮排量(預設情況下,一個 Tab 鍵就表示 4 個空格)。

  • 對於 Python 縮排規則,初學者可以這樣理解,Python 要求屬於同一作用域中的各行程式碼,它們的縮排量必須一致,但具體縮排量為多少,並不做硬性規定。

正確範例程式碼:

a=1if a==1:
    print("正確")  # 縮排4個空白佔位else:              # 與if對齊
    print("錯誤")   # 縮排4個空白佔位

錯誤範例程式碼:

a=1if a==1:
    print("正確") else:              
    print("錯誤")   
 print("end")   # 改正只需將這行程式碼前面的空格刪除即可

只需要記住一點:統一使用 4 個空格進行縮排,不要用tab, 也不要tab和空格混用

記住這一點,一般來說縮排就不會出現太大的問題!


註釋部分

Python中使用 # 進行註釋,我們在使用# 的時候,# 號後面要空一格

    # 註釋部分 
    # 
    # 註釋部分

在行內註釋的時候,中間應該至少加兩個空格

print("你好,世界")  # 註釋

空格

空格 使用的一般性原則:

  • 在二元運運算元兩邊各空一格,算術操作符兩邊的空格可靈活使用,但兩側務必要保持一致
  • 不要在逗號、分號、冒號前面加空格,但應該在它們後面加(除非在行尾)
  • 函數的參數列中,逗號之後要有空格
  • 函數的參數列中,預設值等號兩邊不要新增空格
  • 左括號之後,右括號之前不要加新增空格
  • 參數列, 索引或切片的左括號前不應加空格

通常情況下,在運運算元兩側、函數引數之間以及逗號兩側,都建議使用空格進行分隔。


空行使用

空行 使用的一般性原則:

  • 編碼格式宣告、模組匯入、常數和全域性變數宣告、頂級定義和執行程式碼之間空兩行
  • 頂級定義之間空兩行,方法定義之間空一行
  • 在函數或方法內部,可以在必要的地方空一行以增強節奏感,但應避免連續空行

使用必要的空行可以增加程式碼的可讀性,通常在頂級定義(如函數或類的定義)之間空兩行,而方法定義之間空一行,另外在用於分隔某些功能的位置也可以空一行。


模組匯入部分

匯入總應該放在檔案頂部,位於模組註釋和檔案字串之後,模組全域性變數和常數之前。

匯入應該按照從最通用到最不通用的順序分組,分組之間空一行:

  • 標準庫匯入
  • 第三方庫匯入
  • 應用程式指定匯入

每個 import 語句只匯入一個模組,儘量避免一次匯入多個模組

#推薦import osimport sys
#不推薦import os,sys

命名規範

命名規範這一塊的大家應該都比較熟悉了,但是不同的程式語言之間的明明規範也是有所區別的~

Python命名建議遵循的一般性原則:

  • 模組儘量使用小寫命名,首字母保持小寫,儘量不要用下劃線
  • 類名使用駝峰(CamelCase)命名風格,首字母大寫,私有類可用一個下劃線開頭
  • 函數名一律小寫,如有多個單詞,用下劃線隔開
  • 私有函數可用一個下劃線開頭
  • 變數名儘量小寫, 如有多個單詞,用下劃線隔開
  • 常數採用全大寫,如有多個單詞,使用下劃線隔開

引號用法

Python中,輸出語句中使用單雙引號都是可以正確的,但是也有相應的編碼規範

所以我們也不要隨心所欲的新增引號,最好是遵循下面的規範!

引號使用的一般性原則:

  • 自然語言使用雙引號
  • 機器標識使用單引號
  • 正規表示式使用雙引號
  • 檔案字串 (docstring) 使用三個雙引號

分號用法

Python跟其他幾個主流程式語言的分號使用區別很大
Python的程式碼末尾不需要加分號,而Java和C#等都需要新增

不要在行尾新增分號,也不要用分號將兩條命令放在同一行,例如:

# 不推薦print("Hello") ;  print("World")

推薦學習:

以上就是一起聊聊Python的編碼樣式的詳細內容,更多請關注TW511.COM其它相關文章!