Python基礎(chǔ)語法

1、不在同一句import中引用多個庫
正確姿勢:import osimport sys
錯誤姿勢:importos,sys

2、代碼長度約束
一行列數(shù):PEP8 規(guī)定最大為79列,如果拼接url很容易超限
一個函數(shù):不可以超過30行;直觀來講就是完整顯示一個函數(shù)一個屏幕就夠了,不需要上下拖動
一個類:不要超過200行代碼,不要超過10個方法
一個模塊:不要超過500行

3、常見格式問題
(1)錯誤記錄:W292 no newline at end of file
處理:在代碼末尾加一行回車就行(新行不要有空格)。

(2)錯誤記錄:E302 expected 2 blank lines, found 1
處理:需要再補一個空白行(函數(shù)之間需要最少2個空白行,方便查閱、區(qū)分)

(3)錯誤記錄:E231 missing whitespace after ‘,’
處理:“,”后要有空格(原因簡單來說還是要方便查看,即逗號后“,”需要補空格)
舉例:
? ? 錯誤:print(“%s %s %s %s %s %s” % (A,B,D,E,K,L))
? ? 正確:print(“%s %s %s %s %s %s” % (A, B, D, E, K, L))
也許在這里并不能非常明顯看出來,但是當(dāng)代碼多的時候,你會發(fā)現(xiàn)適當(dāng)?shù)目崭駮@得代碼容易觀看。

(4)錯誤記錄:E225 missing whitespace around operator
處理:主要原因其實跟上面的問題三差不多,主要目的都是為了查看方便
錯誤 f=open(“D:\\test.txt”, “ab”)
正確 f = open(“D:\\test.txt”, “ab”)

(5)錯誤記錄:W291 trailing whitespace
處理:函數(shù)、或者代碼段終止處出現(xiàn)了多余的空格
舉例:returnkw? (這里多了幾個空格,錯誤)returnkw

(6)錯誤記錄:function name should be lowercase
原因:函數(shù)名應(yīng)該為小寫。
解決方案:File –>Settings–>Editor–>Inspections–>Python–>PEP 8 naming convention violation
在右下角有一個Ignored errors列表控件,添加:
N802
N803
N806

code sample message
N801? ? class names should use CapWords convention
N802? ? functionnameshouldbelowercaseN803? ? argument name should be lowercase
N804? ? first argument of a classmethod should be named 'cls'
N805? ? first argument of a method should be named 'self'
N806? ? variable in functionshouldbelowercase
N811? ? constant imported as non constant
N812? ? lowercase imported as non lowercase
N813? ? camelcase imported as lowercase
N814? ? camelcase imported as constant

(7)其他
1 typo found? ? ? ? ? # 1個錯誤被發(fā)現(xiàn)
1 weak warning found? # 1個弱警告

4、空格
空格在 Python 代碼中是有意義的,因為 Python 的語法依賴于縮進,在行首的空格稱為前導(dǎo)空格。在這一節(jié)不討論前導(dǎo)空格相關(guān)的內(nèi)容,只討論非前導(dǎo)空格。非前導(dǎo)空格在 Python 代碼中沒有意義,但適當(dāng)?shù)丶尤敕乔皩?dǎo)空格可以增進代碼的可讀性。

# 在二元算術(shù)、邏輯運算符前后加空格,如:
a = b + c;
# 在一元前綴運算符后不加空格,如:
if !flg: pass;
#? “:”用在行尾時前后皆不加空格,如分枝、循環(huán)、函數(shù)和類定義語言;用在非行尾時兩端加空格,如:dict 對象的定義
d = {'key' :? 'value'}
#? 括號(含圓括號、方括號和花括號)前后不加空格,如:
do_something(arg1, arg2)
而不是:
do_something( arg1, arg2 )
# 不要在逗號、分號、冒號前面加空格,但應(yīng)該在它們后面加(除了在行尾)
# 不要用空格來垂直對齊多行間的標(biāo)記,因為這會成為維護的負(fù)擔(dān)(適用于:,#,=等)

5、空行
適當(dāng)?shù)目招杏欣谠黾哟a的可讀性,加空行可以參考如下幾個準(zhǔn)則:
(1)在類、函數(shù)的定義間加空行;
(2)在 import 不同種類的模塊間加空行;
(3)在函數(shù)中的邏輯段落間加空行,即把相關(guān)的代碼緊湊寫在一起,作為一個邏輯段落,段落間以空行分隔;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容