當我們編寫/運行一些程序時,我們經常會陷入困境或遇到錯誤。我們通常會上網尋求幫助並讓我們的代碼運行。但是我們如何理解互聯網上發布的代碼呢?這個問題的一些典型答案是文檔字符串,即寫在代碼之上的文章......,這個時代最大的問題之一是理解對方的程序。如果代碼中沒有注釋、文檔字符串等解釋性內容,情況會更糟。作為一名程序員,我們應該讓我們的代碼可讀且易於理解。為了解決這個問題,Python 提供了 pylint 模塊。本文簡要介紹了 pylint 模塊,並提供了在我的代碼上獲得高分的技巧。開始吧。 Pylint 是一個工具
- 列出執行該 Python 代碼後出現的錯誤
- 執行編碼標準並查找代碼異味
- 建議如何更新特定塊
- 提供有關代碼複雜性的詳細信息
Pylint 工具類似於 pychecker、pyflakes、flake8 和 mypy。
安裝
要安裝 pylint,請確保您的 PC 上安裝了 Python。在 PC 上打開命令提示符 (Windows) /終端 (Linux) 並鍵入以下命令
pip install pylint
要驗證 pylint 安裝,請鍵入以下命令
pylint --version
您應該看到 pylint “2.4.4” 版本。我們還可以通過重新安裝 pylint 來驗證安裝。在這種情況下,如果 pylint 已安裝,您應該在屏幕上看到“要求已滿足”。
與 Pylint 合作
考慮以下程序,它接受兩個數字並打印它們的總和。
Python3
a = 1
b = 2
print(a + b)
現在將上麵的程序保存在文件中gfg.py
打開命令提示符/終端並鍵入以下命令
pylint gfg.py
在 pylint 2.4.4 版本中,您將得到如下所示的報告。消息可能會根據版本而變化。 分數上麵給出的代碼是-10.0/10.0(非常低)。如果我們得到低分,並不意味著我們的代碼是錯誤的。分數代表其他程序員可以理解您的代碼的好壞程度。我們需要考慮報告中給出的建議來改進我們的代碼。報告中的每個消息建議/點都將給出由 ID 及其含義組成的消息格式。每個 ID 以字母開頭,其餘部分將進行編號。每個字母表示消息對象的類型。一些消息對象是
S.No | 消息對象 | 擴張 | 解釋 |
---|---|---|---|
1. | C | Convention | 當程序不遵循標準規則時會顯示它。 |
2. | R | Refactor | 顯示不良代碼氣味 |
3. | W | Warning | 它針對 python 特定問題顯示 |
4. | E | Error | 當特定行執行導致出現錯誤時顯示 |
5. | F | Fatal | 當 pylint 無法進一步處理該行時會顯示它。 |
讓我們討論一些提高分數的技巧。
- ID C0326建議 bad-white 空格錯誤意味著我們需要在之間給出空格a和=象征。此規則適用於在標識符之後立即使用運算符的所有聲明。
- ID C0304屬於missing-new-line建議,這意味著我們必須在完成代碼時添加一個空行。
- ID C0114屬於missing-module-docstring建議,這意味著我們需要在頂部添加一個文檔字符串,它指的是下麵編寫的程序的使用。
- ID C0103屬於 invalid-name 建議,可以通過編寫以大寫字母開頭的標識符來避免。但是,我們通常認為類名使用CamelCasing,即類名以大寫字母開頭。為了避免這種建議,我們將向 pylint 添加一個正則表達式,它實際上接受所有小寫字母的變量。我們將在進一步的示例中對此進行更多討論。
修改後的版本代碼為:
Python3
'''
This program adds two numbers and displays their results
'''
A = 1
B = 2
print('Sum of Numbers:', A + B)
如果我們使用 pylint 運行上麵的代碼,我們將得到以下結果在這裏,我們將分數從 -10.0 提高到 10.0。那太棒了。但是,我的代碼可以理解嗎?答案是不。我們還需要進行一些更改來指定 pylint 模塊來對代碼進行評分。
更改無效名稱建議
如前所述,pylint 模塊默認使用大寫命名約定。用於標識大寫約定的正則表達式是 (([A-Z_][A-Z1-9_]*)|(__.*__))$。我們需要將我們的建議添加為接受以小寫字母開頭的標識符的正則表達式。為此,請打開命令提示符並執行以下語句。
pylint --const-rgx='[a-z\_][a-z0-9\_]{2, 30}$' filename.py
。這將避免使用大寫約定。我們可以通過更改 pylint -generate-rcfile 中的規則來永久修改它,我們將在以後的文章中討論這一點。
相關用法
- Python PyTorch acos()用法及代碼示例
- Python PyTorch asin()用法及代碼示例
- Python PyTorch atan()用法及代碼示例
- Python PyTorch cos()用法及代碼示例
- Python PyTorch cosh()用法及代碼示例
- Python PyTorch sin()用法及代碼示例
- Python PyTorch sinh()用法及代碼示例
- Python PyTorch tan()用法及代碼示例
- Python PyTorch tanh()用法及代碼示例
- Python PyTorch from_numpy()用法及代碼示例
- Python Pytorch randn()用法及代碼示例
- Python Pytorch permute()用法及代碼示例
- Python PyTorch div()用法及代碼示例
- Python PyTorch clamp()用法及代碼示例
- Python PyTorch ceil()用法及代碼示例
- Python PyTorch add()用法及代碼示例
- Python PyTorch abs()用法及代碼示例
- Python PyTorch exp()用法及代碼示例
- Python PyTorch numel()用法及代碼示例
- Python PyTorch is_storage()用法及代碼示例
- Python PyTorch is_tensor()用法及代碼示例
- Python PyTorch trunc()用法及代碼示例
- Python PyTorch frac()用法及代碼示例
- Python PyTorch log()用法及代碼示例
- Python PyTorch fmod()用法及代碼示例
注:本文由純淨天空篩選整理自avsadityavardhan大神的英文原創作品 Pylint module in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。