轉載:https://blog.csdn.net/Jason_Lewis/article/details/75386598html
最近剛剛接觸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:
文章最後添加一些講Python規範的文章:spa