罗田县升平网络工作室,一家专业从事网站建设的工作室

资讯论坛

 找回密码
 加入论坛

快捷登录

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。
查看: 257|回复: 0

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

[复制链接]

721

主题

697

帖子

791

积分

社区达人

积分
791
发表于 2021-11-26 02:16:10 | 显示全部楼层 |阅读模式
目录


  • 关于PEP-8
  • 目的
  • 安装
  • 基本用法
  • 高级用法
  • 结论
编程是数据科学中不可或缺的技能,虽然创建脚本来执行基本功能很容易,但编写大规模可读性良好的代码需要更多的思考。

关于PEP-8

pycodestyle 检查器提供基于 PEP-8 样式约定的代码建议。那么 PEP-8 到底是什么呢?
PEP 代表 Python 增强建议,PEP-8 是一个概述编写 Python 代码最佳实践的指南。它的主要目标是通过标准化代码样式来提高代码的整体一致性和可读性。

目的

快速浏览一下PEP-8文档,就会发现有太多的最佳实践需要记住。
而且,已经花了这么多精力编写了这么多行代码,你当然不希望浪费更多的时间手动检查脚本的可读性。
这就是 pycodestyle 自动分析 Python 脚本并指出代码可以改进的地方。

安装

pip 是首选的安装程序,你可以通过在终端中运行以下命令来安装或升级 pycodestyle:
  1. # Install pycodestylepip install pycodestyle# Upgrade pycodestylepip install --upgrade pycodestyle
复制代码
基本用法

最直接的用法是在 Python 脚本(.py文件)上作为命令在终端中运行pycodestyle。
让我们使用以下示例脚本(名为 pycodestyle_sample_script.py)进行演示:
  1. # pycodestyle_sample_script.py # Import librariesimport numpy as np, pandas as pd# Take the users inputwords = raw_input("Enter some text to translate to pig latin: " )# Break apart the words into a listwords_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:
  1. pycodestyle pycodestyle_sample_script.py
复制代码
输出指定违反PEP-8样式约定的代码位置:


每行中由冒号分隔的一对数字(如3:19)分别表示行号和字符号。
例如,在")"之前输出6:64 E202空格意味着在第6行中,第64个字符标记处有一个意外的空格。
你也可以通过分析 statistics 参数来查看错误发生的频率:
  1. pycodestyle --statistics -qq pycodestyle_sample_script.py
复制代码


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

高级用法

我们还可以将 pycodestyle 直接导入到 Python 代码中,以执行自动化测试。这对于自动测试多个脚本的编码风格一致性非常有用。
例如,可以编写以下类来自动检查是否符合PEP-8约定:
  1. import unittestimport pycodestyleclass 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")
复制代码
还可以配置该工具,以便根据我们定义的样式规则首选项进行测试。例如,我们可以删除不希望在检查中检测到的特定错误:
  1. style = pycodestyle.StyleGuide(ignore=['E201', 'E202', 'E501'])
复制代码
或者,我们可以指示 pycodestyle 一起使用不同的配置文件(包含一组特定的样式规则)。
  1. import pycodestylestyle = 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的资料请关注脚本之家其它相关文章!

来源:http://www.jb51.net/article/229901.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
打赏鼓励一下!
回复

使用道具 举报

回帖中禁止出现的内容,违者将被直接永久禁止访问,删除ID处理 :1.违反法律法规 ,包括但不限于出现带有政治、色情、暴恐信息等内容;2.恶意攻击内容,包括但不限于:恶意攻击党和政府、辱骂跟帖者、攻击主题发布者、不服从论坛管理、挑衅管理者、挑战版规等;3.广告、推广内容,尤其出现带有病毒、恶意代码、广告链接等内容,包括但不限于:QQ号、文字QQ号、微信号、手机号、文字手机号、第三方网址、单位公司名称、网站名称等;4.回帖贴出该主题隐藏资源链接或其它主题隐藏资源链接的行为。

浏览排行

(38463)2019-11-5 公共云钱包资金盘骗局揭秘: 网络传销+原始股骗局合体!

(22233)2019-12-20 12月17日 邓智天法院直播庭审疑问全解答!

(20722)2019-12-1 环保币GEC资金盘骗局最新消息: 即将崩盘!

(17244)2019-11-9 巨胸肥臀大长腿,嫩模糯美子真人COS不知火舞福利污图

(15868)2018-12-24 罗田县人民法院公布【第五批失信被执行人名单】 ...

(14972)2019-11-3 曝光!PTFX已经崩盘跑路,投资者血流成河!

(13018)2019-8-7 湖北电力网上缴费,支付宝绑定户号的初始密码是什么?

(12480)2018-10-17 罗田县人民政府“12345”市民服务热线服务指南

(11170)2019-12-11 公安定性了, 趣码是非法传销! 趣码怎么退回365元?

(11081)2019-12-15 满足你对女同事的幻想 风骚秘书阿朱销魂眼神勾魂摄魄

最新发表

[升平网络工作室]2025-8-23 [2025-08-23]罗田天气预报

[升平网络工作室]2025-8-23 西藏自治区成立60周年庆祝大会隆重举行 习近平出席大会

[升平网络工作室]2025-8-23 县委委员会召开查摆问题整改整治情况汇报会

[爱查小程序]2025-8-22 [爱查]在线听音乐操作说明

[升平网络工作室]2025-8-22 [2025-08-22]罗田天气预报

[升平网络工作室]2025-8-22 习近平率中央代表团抵达拉萨出席西藏自治区成立60周年庆祝活动

[升平网络工作室]2025-8-22 县关工委联合经济开发区开展“情系学子”助学活动 助力职工子女圆梦大学

[升平网络工作室]2025-8-21 2025年罗田县卫健系统赴高校公开招聘事业单位工作人员拟聘用人员公示公告

[升平网络工作室]2025-8-21 [2025-08-21]罗田天气预报

[升平网络工作室]2025-8-21 县安防委2025年度第三次全体(扩大)会召开

QQ|Archiver|手机版|小黑屋|资讯论坛BBS.SPW8.CN ( 鄂ICP备2021011341号-3 )|网站地图


手机扫一扫继续访问
[免责声明]
本站系本网编辑转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除内容!
[声明]本站文章版权归原作者所有 内容为作者个人观点 本站只提供参考并不构成任何投资及应用建议。

进入社区 | 发表新帖 | 百度收录 |
技术提供:罗田县升平网络工作室
站长Email:admin@spw8.cn
投诉电话(刮开查看):15374567400

GMT+8, 2025-8-23 16:55 , Processed in 0.260159 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表