欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

提高python代碼可讀性利器pycodestyle使用詳解

 更新時間:2021年11月22日 15:55:37   作者:Python學(xué)習(xí)與數(shù)據(jù)挖掘  
鑒于 Python 在數(shù)據(jù)科學(xué)中的流行,我將深入研究 pycodestyle 的使用方法,以提高 Python 代碼的質(zhì)量和可讀性。如果你想提升代碼質(zhì)量,歡迎收藏學(xué)習(xí),有所收獲,點(diǎn)贊支持

編程是數(shù)據(jù)科學(xué)中不可或缺的技能,雖然創(chuàng)建腳本來執(zhí)行基本功能很容易,但編寫大規(guī)??勺x性良好的代碼需要更多的思考。

關(guān)于PEP-8

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

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

目的

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

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

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

安裝

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

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

基本用法

最直接的用法是在 Python 腳本(.py文件)上作為命令在終端中運(yùn)行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

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

pycodestyle pycodestyle_sample_script.py

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

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

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

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

pycodestyle --statistics -qq pycodestyle_sample_script.py

在上面的輸出中,我們看到在右括號“)”之前出現(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')

如果你需要了解更多的功能,訪問pycodestyle文檔獲取更多詳細(xì)信息。

https://pycodestyle.pycqa.org/en/latest/intro.html

結(jié)論

代碼的閱讀頻率高于編寫頻率,代碼的一致性、可理解性和結(jié)構(gòu)整潔是至關(guān)重要的。在本文中,我們研究了如何使用 pycodestyle 工具來檢查 Python 腳本是否符合 PEP-8 代碼樣式規(guī)范。

相信掌握它后,我們代碼質(zhì)量會有質(zhì)的飛躍。

以上就是提高python代碼可讀性利器pycodestyle使用詳解的詳細(xì)內(nèi)容,更多關(guān)于python代碼可讀性利器pycodestyle的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python中IPYTHON入門實例

    Python中IPYTHON入門實例

    這篇文章主要介紹了Python中IPYTHON的用法入門,較為詳細(xì)的分析了IPYTHON的配置及使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • PyTorch中關(guān)于tensor.repeat()的使用

    PyTorch中關(guān)于tensor.repeat()的使用

    這篇文章主要介紹了PyTorch中關(guān)于tensor.repeat()的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 利用LyScript實現(xiàn)應(yīng)用層鉤子掃描器

    利用LyScript實現(xiàn)應(yīng)用層鉤子掃描器

    Capstone 是一個輕量級的多平臺、多架構(gòu)的反匯編框架。本篇文章將運(yùn)用LyScript插件結(jié)合Capstone反匯編引擎實現(xiàn)一個鉤子掃描器,感興趣的可以了解一下
    2022-08-08
  • Python輸入整數(shù)進(jìn)行排序方式

    Python輸入整數(shù)進(jìn)行排序方式

    這篇文章主要介紹了Python輸入整數(shù)進(jìn)行排序方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 對pandas中Series的map函數(shù)詳解

    對pandas中Series的map函數(shù)詳解

    今天小編就為大家分享一篇對pandas中Series的map函數(shù)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python過濾掉numpy.array中非nan數(shù)據(jù)實例

    Python過濾掉numpy.array中非nan數(shù)據(jù)實例

    這篇文章主要介紹了Python過濾掉numpy.array中非nan數(shù)據(jù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]

    Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]

    這篇文章主要介紹了Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n],文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Python:合并兩個numpy矩陣的實現(xiàn)

    Python:合并兩個numpy矩陣的實現(xiàn)

    今天小編就為大家分享一篇Python:合并兩個numpy矩陣的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python批量設(shè)置多個Excel文件頁眉頁腳的腳本

    python批量設(shè)置多個Excel文件頁眉頁腳的腳本

    這篇文章主要介紹了python批量設(shè)置多個Excel文件頁眉頁腳的源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python實現(xiàn)自動發(fā)送報警監(jiān)控郵件

    python實現(xiàn)自動發(fā)送報警監(jiān)控郵件

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)自動發(fā)送報警監(jiān)控郵件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06

最新評論