文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

提高python代码可读性利器pycodestyle使用详解

2024-04-02 19:55

关注

编程是数据科学中不可或缺的技能,虽然创建脚本来执行基本功能很容易,但编写大规模可读性良好的代码需要更多的思考。

关于PEP-8

pycodestyle 检查器提供基于 PEP-8 样式约定的代码建议。那么 PEP-8 到底是什么呢?

PEP 代表 Python 增强建议,PEP-8 是一个概述编写 Python 代码最佳实践的指南。它的主要目标是通过标准化代码样式来提高代码的整体一致性和可读性。

目的

快速浏览一下PEP-8文档,就会发现有太多的最佳实践需要记住。

而且,已经花了这么多精力编写了这么多行代码,你当然不希望浪费更多的时间手动检查脚本的可读性。

这就是 pycodestyle 自动分析 Python 脚本并指出代码可以改进的地方。

安装

pip 是首选的安装程序,你可以通过在终端中运行以下命令来安装或升级 pycodestyle:


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

基本用法

最直接的用法是在 Python 脚本(.py文件)上作为命令在终端中运行pycodestyle。

让我们使用以下示例脚本(名为 pycodestyle_sample_script.py)进行演示:


# 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

我们通过运行以下简单命令来实现pycodestyle:


pycodestyle pycodestyle_sample_script.py

输出指定违反PEP-8样式约定的代码位置:

每行中由冒号分隔的一对数字(如3:19)分别表示行号和字符号。

例如,在")"之前输出6:64 E202空格意味着在第6行中,第64个字符标记处有一个意外的空格。

你也可以通过分析 statistics 参数来查看错误发生的频率:


pycodestyle --statistics -qq pycodestyle_sample_script.py

在上面的输出中,我们看到在右括号“)”之前出现了4次意外的空白。

高级用法

我们还可以将 pycodestyle 直接导入到 Python 代码中,以执行自动化测试。这对于自动测试多个脚本的编码风格一致性非常有用。

例如,可以编写以下类来自动检查是否符合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")

还可以配置该工具,以便根据我们定义的样式规则首选项进行测试。例如,我们可以删除不希望在检查中检测到的特定错误:


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

或者,我们可以指示 pycodestyle 一起使用不同的配置文件(包含一组特定的样式规则)。


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

如果你需要了解更多的功能,访问pycodestyle文档获取更多详细信息。

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

结论

代码的阅读频率高于编写频率,代码的一致性、可理解性和结构整洁是至关重要的。在本文中,我们研究了如何使用 pycodestyle 工具来检查 Python 脚本是否符合 PEP-8 代码样式规范。

相信掌握它后,我们代码质量会有质的飞跃。

以上就是提高python代码可读性利器pycodestyle使用详解的详细内容,更多关于python代码可读性利器pycodestyle的资料请关注编程网其它相关文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯