溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

提高python代碼可讀性利器pycodestyle怎么使用

發(fā)布時間:2021-11-22 17:05:17 來源:億速云 閱讀:251 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“提高python代碼可讀性利器pycodestyle怎么使用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

關(guān)于PEP-8

pycodestyle 檢查器提供基于 PEP-8 樣式約定的代碼建議。那么 PEP-8 到底是什么呢?

PEP 代表 Python 增強建議,PEP-8 是一個概述編寫 Python 代碼最佳實踐的指南。它的主要目標(biāo)是通過標(biāo)準(zhǔn)化代碼樣式來提高代碼的整體一致性和可讀性。

目的

快速瀏覽一下PEP-8文檔,就會發(fā)現(xiàn)有太多的最佳實踐需要記住。

而且,已經(jīng)花了這么多精力編寫了這么多行代碼,你當(dāng)然不希望浪費更多的時間手動檢查腳本的可讀性。

這就是 pycodestyle 自動分析 Python 腳本并指出代碼可以改進(jìn)的地方。

安裝

pip 是首選的安裝程序,你可以通過在終端中運行以下命令來安裝或升級 pycodestyle:

# Install pycodestyle
pip install pycodestyle
# Upgrade pycodestyle
pip install --upgrade pycodestyle

基本用法

最直接的用法是在 Python 腳本(.py文件)上作為命令在終端中運行pycodestyle。

讓我們使用以下示例腳本(名為 pycodestyle_sample_script.py)進(jìn)行演示:

# pycodestyle_sample_script.py 
# Import libraries
import numpy as np, pandas as pd
# Take the users input
words = raw_input("Enter some text to translate to pig latin: " )
# Break apart the words into a list
words_list = words.split(' ' )
for word in words_list:
    if len(word) >= 3 : # For this pig latin translation, we only want to translate words greater than 3 characters
        pig_latin = word + "%say" % (word[0])
        pig_latin = pig_latin[ 1: ]
        print(pig_latin )
    else:
        pass

我們通過運行以下簡單命令來實現(xiàn)pycodestyle:

pycodestyle pycodestyle_sample_script.py

輸出指定違反PEP-8樣式約定的代碼位置:

提高python代碼可讀性利器pycodestyle怎么使用

每行中由冒號分隔的一對數(shù)字(如3:19)分別表示行號和字符號。

例如,在")"之前輸出6:64 E202空格意味著在第6行中,第64個字符標(biāo)記處有一個意外的空格。

你也可以通過分析 statistics 參數(shù)來查看錯誤發(fā)生的頻率:

pycodestyle --statistics -qq pycodestyle_sample_script.py

提高python代碼可讀性利器pycodestyle怎么使用

在上面的輸出中,我們看到在右括號“)”之前出現(xiàn)了4次意外的空白。

高級用法

我們還可以將 pycodestyle 直接導(dǎo)入到 Python 代碼中,以執(zhí)行自動化測試。這對于自動測試多個腳本的編碼風(fēng)格一致性非常有用。

例如,可以編寫以下類來自動檢查是否符合PEP-8約定:

import unittest
import pycodestyle
class TestCodeFormat(unittest.TestCase):
    def test_conformance(self):
        """Test that the scripts conform to PEP-8."""
        style = pycodestyle.StyleGuide(quiet=True)
        result = style.check_files(['file1.py', 'file2.py'])
        self.assertEqual(result.total_errors, 0, "Found style  
        errors")

還可以配置該工具,以便根據(jù)我們定義的樣式規(guī)則首選項進(jìn)行測試。例如,我們可以刪除不希望在檢查中檢測到的特定錯誤:

style = pycodestyle.StyleGuide(ignore=['E201', 'E202', 'E501'])

或者,我們可以指示 pycodestyle 一起使用不同的配置文件(包含一組特定的樣式規(guī)則)。

import pycodestyle
style = pycodestyle.StyleGuide(config_file='/path/to/tox.ini')

“提高python代碼可讀性利器pycodestyle怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI