本章節(jié)我們來(lái)講述一下Python的編碼規(guī)范,我們來(lái)先看一個(gè)例子。
大家認(rèn)為以上兩個(gè)代碼,哪個(gè)讓人看著更為舒適呢?我想大多人會(huì)選擇右側(cè),以為它看上去更加整潔,這是一種最基礎(chǔ)的代碼規(guī)范,遵守代碼規(guī)則和命名規(guī)范可以使得代碼更加規(guī)范化,對(duì)代碼的理解和維護(hù)十分重要。
本節(jié)會(huì)詳細(xì)對(duì)代碼編寫規(guī)則以及命名規(guī)范等進(jìn)行介紹。
1.編寫規(guī)則
Python采用PEP 8的編碼規(guī)范,接下來(lái)會(huì)講解一些我們?cè)趯W(xué)習(xí)Python過(guò)程應(yīng)該嚴(yán)格遵守的條目。
1)每個(gè)import語(yǔ)句只導(dǎo)入一個(gè)模塊,盡量避免一次導(dǎo)入多個(gè)模塊。
例如:
import random import os #盡量不要采取下面這種方式,分別導(dǎo)入 import os,random
2)不要在代碼末尾加‘;’,也不要用分號(hào)將2條命令寫在同一行。
例如:
#不規(guī)范寫法 a=1; b=1; c=1;d=1; #規(guī)范寫法 a = 1 b = 1 c = 1 d = 1 或者 a = b = c = d = 1
3)建議每行不超過(guò)80個(gè)字符。
如果超過(guò),建議用小括號(hào)“()”將多行內(nèi)容連接起來(lái),而不推薦使用反斜杠‘\’進(jìn)行連接。
例如:
4)使用必要的空行可以增加代碼的可讀性。
一般在頂級(jí)定義之間空兩行,而方法定義之間空一行。
5)運(yùn)算符兩側(cè)和函數(shù)參數(shù)之間建議使用空格進(jìn)行分割。
6)應(yīng)該避免在循環(huán)中使用+和+=操作符累加字符串。
這是因?yàn)樽址遣豢勺兊?,這樣會(huì)創(chuàng)建不必要的臨時(shí)對(duì)象,推薦做法是將每個(gè)字符串加入列表,然后循環(huán)結(jié)束后使用join()方法連接列表。
7)適當(dāng)使用異常處理結(jié)構(gòu)提高程序容錯(cuò)性,但不能過(guò)多依賴異常處理結(jié)構(gòu)。
2.命名規(guī)范
命名規(guī)范在代碼中起到很重要的作用,盡管不規(guī)范命名的程序我們依然可以運(yùn)行,但是會(huì)影響我們更方便的理解代碼。
下面來(lái)介紹一些命名規(guī)范:
● 命名盡量短小并且使用小寫字母,可以使用下劃線分割多個(gè)字母,例如get_name、tom_home、asset,這些都是推薦使用的類型。(本小節(jié)存在不遵守此規(guī)范的實(shí)例,有興趣的可以找一下)
● 類名采用單詞首字母大寫的形式,例如:GetMoney,History等。
● 使用單下劃線“_”開頭的模塊變量或者函數(shù)是受保護(hù)的,在使用import*from語(yǔ)句從模塊中導(dǎo)入時(shí)這些變量或者函數(shù)不能被導(dǎo)入。
● 使用雙下劃線 “__”開頭的變量或方法是類私有的。
3. 空格
代碼中有些位置是需要空格的,下面是使用空格的規(guī)范:
● 賦值符號(hào)“=”前后各有一個(gè)空格。
● 所有的二元運(yùn)算符都應(yīng)該使用空格與操作數(shù)分開。
例如:a += c + d
● 括號(hào)內(nèi)不要有空格,Python中括號(hào)包括小括號(hào)“0”、中括號(hào)“[]”和大括號(hào)“{}"。
● 不要在逗號(hào)、分號(hào)、冒號(hào)前面有空格。
4. 縮進(jìn)
4個(gè)空格被認(rèn)為是一個(gè)縮進(jìn),Python中的縮進(jìn)類似于C語(yǔ)言中的‘{}’,在‘:’換行后一定要跟一個(gè)縮進(jìn),不然會(huì)出現(xiàn)語(yǔ)法錯(cuò)誤。
正確如下圖:
如果不正確使用縮進(jìn),就會(huì)出現(xiàn)SyntaxError錯(cuò)誤。
5. 注釋
最后再講一下注釋規(guī)則,大家會(huì)在本教程中看到很多很多的注釋,注釋穿插于代碼中,‘#’為開始,換行即截止。
6. 總結(jié)
本章就講到這里,良好的編程習(xí)慣會(huì)幫助你成為一個(gè)優(yōu)秀的開發(fā)人員,本章的內(nèi)容大家可以在之后的學(xué)習(xí)過(guò)程中多多回顧,下一節(jié)我們來(lái)學(xué)習(xí)一下標(biāo)識(shí)符和關(guān)鍵字。
C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語(yǔ)言學(xué)練課程
解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會(huì)語(yǔ)法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程