Python代碼規範(PEP8)問題及解決
阿新 • • 發佈:2018-05-31
multiple 正常 快捷 BE 文件的 missing 提示 ati one
轉載:https://blog.csdn.net/Jason_Lewis/article/details/75386598
最近剛剛接觸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規範的文章:
- http://blog.csdn.net/xiaoliu5396/article/details/46005293
- http://blog.csdn.net/zgljl2012/article/details/51907663
- http://www.cnblogs.com/ajianbeyourself/p/4377933.html
Python代碼規範(PEP8)問題及解決