1. 程式人生 > >python(PEP8)程式碼常見警告

python(PEP8)程式碼常見警告

最近剛剛接觸Python,為了養成好習慣,儘量保證自己寫的程式碼符合PEP8程式碼規範,下面是過程中報出的警告及解決方法,英文有些翻譯不太準確見諒,會不斷更新:

PEP 8: module level import not at top of file 解決:import不在檔案的最上面,可能引用之前還有程式碼,把import引用放到檔案的最上部就可以消除警告了。 PEP 8: expected 2 blank lines,found 0 解決:期望上面有2個空白行,發現0個,新增兩個空白行就可以了。 function name should be lowercase 解決:函式名改成小寫。 PEP 8: indentation contains tabs 解決:縮排中有tab空格,推薦用四個空格縮排。 Indent expected 解決:意思是沒有縮排,解析器報錯了,新增縮排就可以了。 Unexpected indent 解決:不期望的縮排,重新新增符合規範的縮排或者Alt+Enter快捷鍵會提示你轉化成規範的縮排。 PEP 8: missing whitespace around operator 解決:意思是操作符(‘=’,‘<’等)前後丟失了空格,舉個例子a=b會報警告,a = b正常。 PEP 8: no newline at end of file 解決:檔案尾部沒有新起一行,游標移到最後回車即可。 PEP 8: blank line at end of file 解決:檔案最後多了一個空白行,只要有一個即可,刪掉一個。 Shadows name ‘xxx’ from outer scope 解決:意思是‘xxx’在外部已經定義了,修改一下‘xxx’-> ‘uuu’或者其他符合要求的修改都可。 PEP 8: block comment should start with ‘# ’ 解決:說的很清楚要以#加一個空格開始 PEP 8: inline comment should start with ‘# ’ 解決:註釋資訊單獨放一行 PEP 8: multiple statements on one line (colon) 解決:多行語句寫到一行了,Python3.0好像不允許寫到一行了,例如if x == 2: print(something)這樣寫就會有警告,必須要分兩行。像下面這樣 if x == 2: print(something) Symplify chained comparision 解決:警告的意思是可簡化連鎖比較,下面舉個例子 if a > 0 and a < 9 可修改為 if PEP 8: