本篇文章給大家?guī)砹岁P(guān)于python的相關(guān)知識,其中主要介紹了Python的基本編碼規(guī)范,包括聲明編碼格式、縮進(jìn)規(guī)則、注釋部分和空行使用等等,希望對大家有幫助。
推薦學(xué)習(xí):python教程
Python編碼規(guī)范
編碼規(guī)范
在各種編程語言中都存在,可能有的語言中體現(xiàn)的不是很直觀而已
如果是新手學(xué)習(xí)編寫代碼,那么在一開始就 熟記編碼規(guī)則 對日后的編寫規(guī)范是影響非巨大的!
下面就來簡單介紹一些初學(xué)者要牢記的幾種編碼規(guī)范,分為幾個(gè)方面來介紹,一起來看一下吧!
Python 采用 PEP 8
作為編碼規(guī)范,其中 PEP
是 Python Enhancement Proposal
(Python 增強(qiáng)建議書)的縮寫,8 代表的是 Python 代碼的樣式指南。
先來看一張圖中的代碼
對比上圖 中的兩段代碼可以發(fā)現(xiàn),它們所包含的代碼時(shí)完全相同的
但是右側(cè)的代碼編寫格式明顯看上去比左側(cè)的代碼段更加規(guī)整,閱讀起來也會(huì)比較輕松、暢快,因?yàn)樗裱俗罨镜?Python 代碼編寫規(guī)范。
下面分為幾個(gè)部分來學(xué)習(xí)一下Python的編碼規(guī)范
,讓我們的代碼更加美觀、漂亮!
聲明編碼格式
-
一般來說,聲明編碼格式在腳本中是必需的
-
如果 python 源碼文件 沒有聲明編碼格式,python 解釋器會(huì)默認(rèn)使用 ASCII 編碼
-
但是這樣有個(gè)缺點(diǎn)就是,一旦出現(xiàn)非ASCII編碼的字符,python 解釋器就會(huì)報(bào)錯(cuò)
-
以 UTF-8 為例,以下兩種編碼格式聲明都是合乎規(guī)則的。
# -*- coding: utf-8 -*-
# coding = utf-8
縮進(jìn)規(guī)則
-
和其它程序設(shè)計(jì)語言(如 Java、C 語言)采用大括號“{}”分隔代碼塊不同,Python 采用代碼縮進(jìn)和冒號( : )來區(qū)分代碼塊之間的層次。
-
在 Python 中,對于類定義、函數(shù)定義、流程控制語句、異常處理語句等,行尾的冒號和下一行的縮進(jìn),表示下一個(gè)代碼塊的開始,而縮進(jìn)的結(jié)束則表示此代碼塊的結(jié)束。
-
注意,Python 中實(shí)現(xiàn)對代碼的縮進(jìn),可以使用空格或者 Tab 鍵實(shí)現(xiàn)。但無論是手動(dòng)敲空格,還是使用 Tab 鍵,通常情況下都是
采用 4 個(gè)空格長度作為一個(gè)縮進(jìn)量
(默認(rèn)情況下,一個(gè) Tab 鍵就表示 4 個(gè)空格)。 -
對于 Python 縮進(jìn)規(guī)則,初學(xué)者可以這樣理解,Python 要求屬于同一作用域中的各行代碼,它們的縮進(jìn)量必須一致,但具體縮進(jìn)量為多少,并不做硬性規(guī)定。
正確示例代碼:
a=1if a==1: print("正確") # 縮進(jìn)4個(gè)空白占位else: # 與if對齊 print("錯(cuò)誤") # 縮進(jìn)4個(gè)空白占位
錯(cuò)誤示例代碼:
a=1if a==1: print("正確") else: print("錯(cuò)誤") print("end") # 改正只需將這行代碼前面的空格刪除即可
只需要記住一點(diǎn):統(tǒng)一使用 4 個(gè)空格進(jìn)行縮進(jìn),不要用tab, 也不要tab和空格混用
記住這一點(diǎn),一般來說縮進(jìn)就不會(huì)出現(xiàn)太大的問題!
注釋部分
Python中使用 # 進(jìn)行注釋,我們在使用# 的時(shí)候,# 號后面要空一格
# 注釋部分 # # 注釋部分
在行內(nèi)注釋的時(shí)候,中間應(yīng)該至少加兩個(gè)空格
print("你好,世界") # 注釋
空格
空格
使用的一般性原則:
- 在二元運(yùn)算符兩邊各空一格,算術(shù)操作符兩邊的空格可靈活使用,但兩側(cè)務(wù)必要保持一致
- 不要在逗號、分號、冒號前面加空格,但應(yīng)該在它們后面加(除非在行尾)
- 函數(shù)的參數(shù)列表中,逗號之后要有空格
- 函數(shù)的參數(shù)列表中,默認(rèn)值等號兩邊不要添加空格
- 左括號之后,右括號之前不要加添加空格
- 參數(shù)列表, 索引或切片的左括號前不應(yīng)加空格
通常情況下,在運(yùn)算符兩側(cè)、函數(shù)參數(shù)之間以及逗號兩側(cè),都建議使用空格進(jìn)行分隔。
空行使用
空行
使用的一般性原則:
- 編碼格式聲明、模塊導(dǎo)入、常量和全局變量聲明、頂級定義和執(zhí)行代碼之間空兩行
- 頂級定義之間空兩行,方法定義之間空一行
- 在函數(shù)或方法內(nèi)部,可以在必要的地方空一行以增強(qiáng)節(jié)奏感,但應(yīng)避免連續(xù)空行
使用必要的空行可以增加代碼的可讀性,通常在頂級定義(如函數(shù)或類的定義)之間空兩行,而方法定義之間空一行,另外在用于分隔某些功能的位置也可以空一行。
模塊導(dǎo)入部分
導(dǎo)入總應(yīng)該放在文件頂部,位于模塊注釋和文檔字符串之后,模塊全局變量和常量之前。
導(dǎo)入應(yīng)該按照從最通用到最不通用的順序分組,分組之間空一行:
- 標(biāo)準(zhǔn)庫導(dǎo)入
- 第三方庫導(dǎo)入
- 應(yīng)用程序指定導(dǎo)入
每個(gè) import 語句只導(dǎo)入一個(gè)模塊,盡量避免一次導(dǎo)入多個(gè)模塊
#推薦import osimport sys #不推薦import os,sys
命名規(guī)范
命名規(guī)范這一塊的大家應(yīng)該都比較熟悉了,但是不同的編程語言之間的明明規(guī)范也是有所區(qū)別的~
Python命名建議遵循的一般性原則:
- 模塊盡量使用小寫命名,首字母保持小寫,盡量不要用下劃線
- 類名使用駝峰(CamelCase)命名風(fēng)格,首字母大寫,私有類可用一個(gè)下劃線開頭
- 函數(shù)名一律小寫,如有多個(gè)單詞,用下劃線隔開
- 私有函數(shù)可用一個(gè)下劃線開頭
- 變量名盡量小寫, 如有多個(gè)單詞,用下劃線隔開
- 常量采用全大寫,如有多個(gè)單詞,使用下劃線隔開
引號用法
Python中,輸出語句中使用單雙引號都是可以正確的,但是也有相應(yīng)的編碼規(guī)范
所以我們也不要隨心所欲的添加引號,最好是遵循下面的規(guī)范!
引號使用的一般性原則:
- 自然語言使用雙引號
- 機(jī)器標(biāo)識使用單引號
- 正則表達(dá)式使用雙引號
- 文檔字符串 (docstring) 使用三個(gè)雙引號
分號用法
Python跟其他幾個(gè)主流編程語言的分號使用區(qū)別很大
Python的代碼末尾不需要加分號,而Java和C#等都需要添加
不要在行尾添加分號,也不要用分號將兩條命令放在同一行,例如:
# 不推薦print("Hello") ; print("World")
推薦學(xué)習(xí):python詳細(xì)教程