增强 Python 代码的可读性,pycodestyle 利器来了!

Posted Python学习与数据挖掘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了增强 Python 代码的可读性,pycodestyle 利器来了!相关的知识,希望对你有一定的参考价值。

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

鉴于 Python 在数据科学中的流行,我将深入研究 pycodestyle 的使用方法,以提高 Python 代码的质量和可读性。如果你想提升代码质量,欢迎收藏学习,有所收获,点赞支持!

目录

  • 关于PEP-8
  • 目的
  • 安装
  • 基本用法
  • 高级用法

关于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 代码样式规范。相信掌握它后,我们代码质量会有质的飞跃。


技术交流

欢迎转载、收藏、有所收获点赞支持一下!

在这里插入图片描述
目前开通了技术交流群,群友超过2000人,添加方式如下:

如下方式均可,添加时最好方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式一、发送如下图片至微信,进行长按识别,回复加群;
  • 方式二、直接添加小助手微信号:pythoner666,备注:来自CSDN
  • 方式三、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

在这里插入图片描述

以上是关于增强 Python 代码的可读性,pycodestyle 利器来了!的主要内容,如果未能解决你的问题,请参考以下文章

初学python,不明白代码之间时空格的用处

Python入门

Python 代码注释

Python 代码注释

Javascript编码规范,好的代码从书写规范开始,增强代码的可读性,可维护性,这是相当重要的!

Python之路第三篇:Python基础(12)——函数