亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python PEP8代碼規(guī)范常見問題以及解決方案

 更新時間:2024年11月25日 10:12:32   作者:WuKongSecurity@BOB  
PEP8是Python的代碼規(guī)范,本文總結了常見的PEP8代碼規(guī)范問題及解決方法,幫助開發(fā)者編寫規(guī)范的代碼

Python PEP8代碼規(guī)范常見問題

之前一直用 Python IDLE 寫代碼,最近換成 PyCharm 寫代碼總是會出現(xiàn)波浪號,這才了解到 Python 的 PEP8 代碼規(guī)范,所以將常見的 PEP8 代碼規(guī)范問題和解決方法記錄一下,學習一下,遇到了再持續(xù)更新,養(yǎng)成良好的習慣,編寫規(guī)范的代碼!

PEP 8: no newline at end of file

解決方法:

代碼末尾需要另起一行,光標移到最后回車即可

PEP 8: indentation is not a multiple of four

解決方法:

縮進不是4的倍數(shù),檢查縮進

PEP 8: over-indented

解決方法:

過度縮進,檢查縮進

PEP 8: missing whitespace after’,’

解決方法:

逗號后面少了空格,添加空格即可,類似還有分號或者冒號后面少了空格

PEP 8: multiple imports on one line

解決方法:

不要在一句 import 中引用多個庫,舉例:import socket, urllib.error最好寫成:import socket import urllib.error

PEP 8: blank line at end of line

解決方法:

代碼末尾行多了空格,刪除空格即可

PEP 8: at least two spaces before inline comment

解決方法:

代碼與注釋之間至少要有兩個空格

PEP 8: block comment should start with ‘#’

解決方法:

注釋要以#加一個空格開始

PEP 8: inline comment should start with ‘#’

解決方法:

注釋要以#加一個空格開始

PEP 8: module level import not at top of file

解決方法:

import不在文件的最上面,可能之前還有其它代碼

PEP 8: expected 2 blank lines,found 0

解決方法:

需要兩條空白行,添加兩個空白行即可

PEP 8: function name should be lowercase

解決方法:

函數(shù)名改成小寫即可

PEP 8: missing whitespace around operator

解決方法:

操作符(’=’、’>’、’<'等)前后缺少空格,加上即可

PEP 8: unexpected spaces around keyword / parameter equals

解決方法:

關鍵字/參數(shù)等號周圍出現(xiàn)意外空格,去掉空格即可

PEP 8: multiple statements on one line (colon)

解決方法:

多行語句寫到一行了,比如:if x == 2: print('OK')要分成兩行寫

PEP 8: line too long (82 > 79 characters)

解決方法:

超過了每行的最大長度限制79

PEP 8: Simplify chained comparison

可簡化連鎖比較(例如:if a >= 0 and a <= 9: 可以簡寫為:if 0 <= a <= 9:

想要選擇性忽略PEP8代碼風格的警告信息使用以下方法

(養(yǎng)成良好的習慣,編寫規(guī)范的代碼!不推薦忽略?。?/p>

①將鼠標移到出現(xiàn)警告信息的地方,按 alt+Enter,選擇忽略(Ignore)這個錯誤即可:

②依次選擇 File - Settings - Editor - Inspections,在 Python下找到 PEP8 coding style violation 選項,在右下角的 Ignore errors 里點擊加號可以添加需要忽略的警告信息ID(ID信息見后面附錄)

例如想要忽略indentation contains mixed spaces and tabs這個警告,只需要添加其ID:E101 即可

附錄:

全部警告信息以及對應的ID,官方地址:https://pep8.readthedocs.io/en/latest/intro.html#error-codes

codesample message
E1Indentation
E101indentation contains mixed spaces and tabs
E111indentation is not a multiple of four
E112expected an indented block
E113unexpected indentation
E114indentation is not a multiple of four (comment)
E115expected an indented block (comment)
E116unexpected indentation (comment)
E117over-indented
E121 (*^)continuation line under-indented for hanging indent
E122 (^)continuation line missing indentation or outdented
E123 (*)closing bracket does not match indentation of opening bracket’s line
E124 (^)closing bracket does not match visual indentation
E125 (^)continuation line with same indent as next logical line
E126 (*^)continuation line over-indented for hanging indent
E127 (^)continuation line over-indented for visual indent
E128 (^)continuation line under-indented for visual indent
E129 (^)visually indented line with same indent as next logical line
E131 (^)continuation line unaligned for hanging indent
E133 (*)closing bracket is missing indentation
E2Whitespace
E201whitespace after ‘(‘
E202whitespace before ‘)’
E203whitespace before ‘:’
E211whitespace before ‘(‘
E221multiple spaces before operator
E222multiple spaces after operator
E223tab before operator
E224tab after operator
E225missing whitespace around operator
E226 (*)missing whitespace around arithmetic operator
E227missing whitespace around bitwise or shift operator
E228missing whitespace around modulo operator
E231missing whitespace after ‘,’, ‘;’, or ‘:’
E241 (*)multiple spaces after ‘,’
E242 (*)tab after ‘,’
E251unexpected spaces around keyword / parameter equals
E261at least two spaces before inline comment
E262inline comment should start with ‘# ‘
E265block comment should start with ‘# ‘
E266too many leading ‘#’ for block comment
E271multiple spaces after keyword
E272multiple spaces before keyword
E273tab after keyword
E274tab before keyword
E275missing whitespace after keyword
E3Blank line
E301expected 1 blank line, found 0
E302expected 2 blank lines, found 0
E303too many blank lines (3)
E304blank lines found after function decorator
E305expected 2 blank lines after end of function or class
E306expected 1 blank line before a nested definition
E4Import
E401multiple imports on one line
E402module level import not at top of file
E5Line length
E501 (^)line too long (82 > 79 characters)
E502the backslash is redundant between brackets
E7Statement
E701multiple statements on one line (colon)
E702multiple statements on one line (semicolon)
E703statement ends with a semicolon
E704 (*)multiple statements on one line (def)
E711 (^)comparison to None should be ‘if cond is None:’
E712 (^)comparison to True should be ‘if cond is True:’ or ‘if cond:’
E713test for membership should be ‘not in’
E714test for object identity should be ‘is not’
E721 (^)do not compare types, use ‘isinstance()’
E722do not use bare except, specify exception instead
E731do not assign a lambda expression, use a def
E741do not use variables named ‘l’, ‘O’, or ‘I’
E742do not define classes named ‘l’, ‘O’, or ‘I’
E743do not define functions named ‘l’, ‘O’, or ‘I’
E9Runtime
E901SyntaxError or IndentationError
E902IOError
W1Indentation warning
W191indentation contains tabs
W2Whitespace warning
W291trailing whitespace
W292no newline at end of file
W293blank line contains whitespace
W3Blank line warning
W391blank line at end of file
W5Line break warning
W503 (*)line break before binary operator
W504 (*)line break after binary operator
W505 (*^)doc line too long (82 > 79 characters)
W6Deprecation warning
W601.has_key() is deprecated, use ‘in’
W602deprecated form of raising exception
W603‘<>’ is deprecated, use ‘!=’
W604backticks are deprecated, use ‘repr()’
W605invalid escape sequence ‘x’
W606‘async’ and ‘await’ are reserved keywords starting with Python 3.7

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • OpenCV實現(xiàn)相機校正

    OpenCV實現(xiàn)相機校正

    這篇文章主要為大家詳細介紹了OpenCV實現(xiàn)相機校正,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • python驗證碼識別教程之滑動驗證碼

    python驗證碼識別教程之滑動驗證碼

    這篇文章主要給大家介紹了關于python驗證碼識別教程之滑動驗證碼的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-06-06
  • Python實現(xiàn)圖像手繪效果的方法詳解

    Python實現(xiàn)圖像手繪效果的方法詳解

    這篇文章主要為大家詳細介紹了如何利用Python語言實現(xiàn)圖像手繪效果,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以參考一下
    2022-09-09
  • python正則表達式中匹配次數(shù)與貪心問題詳解(+??*)

    python正則表達式中匹配次數(shù)與貪心問題詳解(+??*)

    正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配,下面這篇文章主要給大家介紹了關于python正則表達式中匹配次數(shù)與貪心問題(+??*)的相關資料,需要的朋友可以參考下
    2022-10-10
  • python使用正則表達式替換匹配成功的組

    python使用正則表達式替換匹配成功的組

    正則表達式,又稱正規(guī)表示式、正規(guī)表示法、正規(guī)表達式、規(guī)則表達式、常規(guī)表示法。這篇文章主要介紹了python里使用正則表達式來替換匹配成功的組,需要的朋友可以參考下
    2017-11-11
  • python爬蟲超時的處理的實例

    python爬蟲超時的處理的實例

    今天小編就為大家分享一篇python爬蟲超時的處理的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python教程之類型轉換詳解

    Python教程之類型轉換詳解

    Python?定義了類型轉換函數(shù)以將一種數(shù)據(jù)類型直接轉換為另一種數(shù)據(jù)類型,這在日常和競爭性編程中很有用,本文將和大家一起詳細聊聊Python中的類型轉換
    2022-08-08
  • 如何基于python實現(xiàn)不鄰接植花

    如何基于python實現(xiàn)不鄰接植花

    這篇文章主要介紹了如何基于python實現(xiàn)不鄰接植花,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • python如何將兩張圖片生成為全景圖片

    python如何將兩張圖片生成為全景圖片

    這篇文章主要為大家詳細介紹了python如何將兩張圖片生成為全景圖片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Python中json格式數(shù)據(jù)的編碼與解碼方法詳解

    Python中json格式數(shù)據(jù)的編碼與解碼方法詳解

    這篇文章主要介紹了Python中json格式數(shù)據(jù)的編碼與解碼方法,詳細分析了Python針對json格式數(shù)據(jù)的編碼轉換操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-07-07

最新評論