国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python代碼檢查工具pylint 讓你的python更規范

2019-11-25 18:42:06
字體:
來源:轉載
供稿:網友
1、pylint是什么?

Pylint 是一個 Python 代碼分析工具,它分析 Python 代碼中的錯誤,查找不符合代碼風格標準(Pylint 默認使用的代碼風格是 PEP 8,具體信息,請參閱參考資料)和有潛在問題的代碼。目前 Pylint 的最新版本是 pylint-0.18.1。

Pylint 是一個 Python 工具,除了平常代碼分析工具的作用之外,它提供了更多的功能:如檢查一行代碼的長度,變量名是否符合命名標準,一個聲明過的接口是否被真正實現等等。
Pylint 的一個很大的好處是它的高可配置性,高可定制性,并且可以很容易寫小插件來添加功能。

如果運行兩次 Pylint,它會同時顯示出當前和上次的運行結果,從而可以看出代碼質量是否得到了改進。

目前在 eclipse 的 pydev 插件中也集成了 Pylint。

pylint是一個Python代碼風格的檢查工具, 它依據的標準是Guido van Rossum的PEP8。

pylint類似于PyChecker, 但提供了更多的功能, 如檢查代碼行的長度, 檢查變量命名是否符合編碼規范, 或檢查聲明的接口是否被真正的實現, 完整的檢查功能請參見http://www.logilab.org/card/pylintfeatures。

pylint的最大優勢在于其高度的可配置化和可定制化,你可以很容易地寫一個小插件添加個人功能。

安裝方法:pip install pylint

參考鏈接:

http://www.ibm.com/developerworks/cn/aix/library/au-cleancode/index.html

http://www.douban.com/note/46830857/

http://zh.wikipedia.org/wiki/Pylint

2、為什么使用pylint?

​為了寫出好代碼。什么是好代碼?符合團隊編碼習慣的代碼:統一的命名,結構。

它的類似產品是什么?PyChecker

你還有啥補充?

3、 怎么使用pylint?

基礎使用:

通過三種代碼來進行測時,得分從1,不斷的根據pylint的提示進行重構,最終得到10分。
v1_fetch.py:
復制代碼 代碼如下:

#coding:utf-8
import urllib
import time

def a(url):
content = urllib.urlopen(url).read()
f = open('tmp%s.html' % str(time.time()), 'w')
f.write(content)
f.close()

def main(urls):
for url in urls:
a(url)

if __name__ == '__main__':
urls = ['http://www.baidu.com','http://www.sohu.com']
main(urls)

修改命名:
v2_fetch.py:
復制代碼 代碼如下:

#coding:utf-8
import urllib
import time

def fetch(url):
content = urllib.urlopen(url).read()
f_html = open('tmp%s.html' % str(time.time()), 'w')
f_html.write(content)
f_html.close()

def main(urls):
for url in urls:
fetch(url)

if __name__ == '__main__':
from_urls = ['http://www.baidu.com','http://www.sohu.com']
main(from_urls)

再次修改:
v3_fetch.py:
復制代碼 代碼如下:

#coding:utf-8
'''
a test function module
'''
import urllib
import time

def fetch(url):
'''
fetch url
'''
content = urllib.urlopen(url).read()
f_html = open('tmp%s.html' % str(time.time()), 'w')
f_html.write(content)
f_html.close()

def main(urls):
'''
main func to be called
'''
for url in urls:
fetch(url)

if __name__ == '__main__':
FROM_URLS = ['http://www.baidu.com','http://www.sohu.com']
main(FROM_URLS)

基本上有以下幾種判斷標準:

1、命名方式

2、docstring

當然直接用pylint進行包檢測也是可以的:pylint package

參看下面了解更多的使用方法,一定要動手練習才行:

參看內容:

Pylint 的調用

清單 1. Pylint 的調用命令
pylint [options] module_or_package

使用 Pylint 對一個模塊 module.py 進行代碼檢查:
1. 進入這個模塊所在的文件夾,運行 pylint [options] module.py
這種調用方式是一直可以工作的,因為當前的工作目錄會被自動加入 Python 的路徑中。

2. 不進入模塊所在的文件夾,運行 pylint [options] directory/module.py
這種調用方式當如下條件滿足的時候是可以工作的:directory 是個 Python 包 ( 比如包含一個 __init__.py 文件 ),或者 directory 被加入了 Python 的路徑中。

使用 Pylint 對一個包 pakage 進行代碼檢查:
1. 進入這個包所在文件夾,運行 pylint [options] pakage。
這種調用方式是一直可以工作的,因為當前的工作目錄會被自動加入 Python 的路徑中。

2. 不進入包所在的文件夾,運行 pylint [options] directory/ pakage。
這種情況下當如下條件滿足的時候是可以工作的:directory 被加入了 Python 的路徑中。比如在 Linux 上,export PYTHONPATH=$PYTHONPATH: directory。

此外,對于安裝了 tkinter 包的機器,可以使用命令 pylint-gui打開一個簡單的 GUI 界面,在這里輸入模塊或者包的名字 ( 規則同命令行 ), 點擊 Run,Pylint 的輸出會在 GUI 中顯示。
Pylint 的常用命令行參數
-h, 主站蜘蛛池模板: 象州县| 南乐县| 易门县| 蒙阴县| 永平县| 屏山县| 靖江市| 区。| 蒙山县| 定远县| 赤水市| 武冈市| 普兰店市| 大埔区| 化德县| 嘉善县| 连云港市| 临海市| 聊城市| 中方县| 临湘市| 齐齐哈尔市| 高陵县| 南丹县| 云梦县| 丰原市| 镇巴县| 邹城市| 玉环县| 遂宁市| 宝清县| 遵义县| 清水河县| 郯城县| 望城县| 福贡县| 广宁县| 林芝县| 墨玉县| 镇巴县| 吉林省|