python写出的程序如何给别人使用-利用这10个工具,你可以写出更好的Python代码...
我每天都使用这些实用程序来使我的Python代码可显示。 它们是免费且易于使用的。
编写漂亮的Python比看起来难。 作为发布工作流程的一部分,我使用以下工具使代码可显示并消除可避免的错误。
1.Black
在#1,我们有Black。 Black是一个毫不妥协的Python代码重整工具。 它将确保您的代码符合PEP 8建议。
您可以使用pip3从pypi中获取Black:
pip3 install --upgrade --user black
Black具有丰富的选项,请使用黑色-h打印帮助文本。
black -t py38 --check
Black output
要使文件修复为黑色,请在运行黑色时删除—检查选项。
2.eradicate
eradicate是一种方便的工具,用于查找注释掉的代码块,排在第二位。 您可能不再需要它们了!
您可以使用pip3从pypi根除:
pip3 install --upgrade --user eradicate
消除的选项很少,请使用消除-h打印帮助文本。
eradicate
Eradicate output
使用-i选项可以就地修复代码。
3.vulture
哇,这些模块有令人兴奋的名字! vulture在#3处将发现无法到达的死代码,并将其清除。 我在美化管道的早期就使用了此方法。
您可以使用pip3从pypi根除:
pip3 install --upgrade --user vulture
Vulture有一些选项,请使用vulture -h打印帮助文本。
vulture
Vulture ouput
4.coverage
coverage是Python代码分析的曾祖父! 在#4,我在发布工作流程中使用覆盖率只是为了在文件中找到无法使用assert语句执行的无法访问的代码。
您可以使用pip3从pypi获得coverage:
pip3 install --upgrade --user coverage
coverage有很多选择,我在这里使用它来查找未到达代码的行号:
coverage erase # erase previous datacoverage run --branch # run a branch analysis coverage report -m # create a report
Coverage ouput
5. Pycodestyle
Pycodestyle是一个很棒的工具,可以用来挑选代码格式。 它告诉您代码与PEP-8中的建议有何不同。 因为我通常在工作流程中先运行黑色程序,所以此工具通常没有任何报告。 在第5位,这是该列表中值得添加的内容!
您可以使用pip3从pypi获取pycodestyle:
pip3 install --upgrade --user pycodestyle
Pycodestyle有很多选项,我在这里使用它来查找未到达代码的行号:
pycodestyle --show-source --statistics
Pycodestyle ouput
6.pylint
Pylint是此列表中必不可少的工具! 在编写要发布给广大读者的代码时,我经常使用它。
您可以使用pip3从pypi获取pylint:
pip3 install --upgrade --user pylint
Pylint有很多选择。 我在这里通过可选插件使用它。 Pylint还提供了非常方便的代码评级,非常适合游戏化:)
pylint --include-naming-hint=y --load-plugins=pylint.extensions.mccabe,pylint.extensions.redefined_variable_type
Pylint output
7. Mypy
Mypy在Python 3.8中很有用,因为它检查是否正确使用了我定义的类型提示。 如果您在Python代码中使用类型提示,则Mypy非常有用。
您可以使用pip3从pypi获取mypy:
pip3 install --upgrade --user mypy
Mypy有很多选择。 我在严格模式下在这里使用它,并将Python版本3.8指定为目标。
mypy --python-version 3.8 --strict
Mypy output
8.Pyflakes
Pyflakes是发现错误的非常强大的程序。 到目前为止,在pyflakes中,pyflakes很少发现任何新内容,但是无论如何都不需要花费任何钱! Pyflakes不检查样式,而是检查错误。
您可以使用pip3从pypi获取pyflakes:
pip3 install --upgrade --user pyflakes
Pyflakes实际上没有其他选择,它的设计非常简单且快速。
pyflakes
Pyflakes output
9. Doctest
Doctest是Python安装的一部分,这是很大的收获! 如果我在代码中使用了doctest,那么我想在发布前运行它。 这里有一个有趣的概念:通过文档进行测试(文字测试)。 Doug Hellmann的这篇文章提供了一些不错的背景。
无需安装Doctest。 可以从代码文件的doctest部分中配置大多数选项。 在这里,我使用-v选项进行详细输出。
python3 -m doctest -v
doctest output
10.Bandit
Bandit是一种安全测试工具。 我将其作为最后一道防线纳入我的工作流程中,没有人愿意对安全漏洞负责!
您可以使用pip3从pypi获取强盗:
pip3 install --upgrade --user bandit
强盗有很多选择-它的配置非常容易。 在这里,我将其配置为跳过错误B101(使用断言),仅报告中度和高度错误。
bandit -s B101 -ll -f screen
11. Radon
奖励时间! Radon是一个非常不错的静态代码分析工具。 它提供了各种指标,您可能需要关注其中的一些指标。 Radon为您的模块,类和方法提供从A到F的评分。
您可以使用pip3从pypi获取ra:
pip3 install --upgrade --user radon
on有很多选择。 我在这里运行所有检查,并将所有结果打印到终端。
radon cc mi raw -na
Radon output
我真的希望您喜欢这个故事! 也许您找到了可以使用的东西,或者您添加了一些有趣的东西,无论哪种情况,快乐的编码Pythonistas都可以!我们的Python学习扣②QUN:⑧⑤⑤-④零⑧-⑧⑨③
从零基础开始到Python各领域的项目实战教程、开发工具与电子书籍。与你分享企业当下对于python人才需求及学好python的高效技巧,不停更新最新教程!
python写出的程序如何给别人使用-利用这10个工具,你可以写出更好的Python代码...相关推荐
- python写出的程序如何给别人使用-涨姿势!这些小技巧让小白也可以写出更优雅的Python代码!...
原标题:涨姿势!这些小技巧让小白也可以写出更优雅的Python代码! 一.前言 我前两天回答了两个Python相关的问题,收到了很多赞,从答案被收藏的情况来看,确实对不少人都很有帮助,所以我也很开心. ...
- python写出的程序如何给别人使用-python如何写出表白程序
用python编表白程序的方法: 1.创建GUI窗口,实现代码的调用. 2.编写点击触发函数,实现表白程序. 具体代码如下:from tkinter import * from tkinter imp ...
- 利用这10个工具,你可以写出更好的Python代码
我每天都使用这些实用程序来使我的Python代码可显示. 它们是免费且易于使用的. 编写漂亮的Python比看起来难. 作为发布工作流程的一部分,我使用以下工具使代码可显示并消除可避免的错误. 很多人 ...
- python编写一计票程序,键盘输入候选人姓名(输入“#”结束),使用字典存储并统计出候选人得票数。python实现分段函数。
一.编程题目 编程题目1:python编写一计票程序,键盘输入候选人姓名(输入"#"结束),使用字典存储并统计出候选人得票数. 编程题目2:pytho ...
- python写出的程序如何给别人使用-如何用PYTHON代码写出音乐
什么是MIDI 博主本人虽然五音不全,而且唱歌还很难听,但是还是非常喜欢听歌的.我一直在做这样的尝试,就是通过人工智能算法实现机器自动的作词和编曲(在这里预告下,通过深度学习写歌词已经实现了,之后会分 ...
- cygwin中写c语言程序,在windows下怎么利用Cygwin进行编程
Windows下使用C语言+嵌入SQL实现DB2开发 Cygwin,gcc的介绍和安装在前面的文章有将过,请参考 在Windows中使用Cygwin环境下的gcc编译器编译Informix ESQ/C ...
- python图表可视化工具_比Excel制图更强大,Python可视化工具Altair入门教程
原作者 Parul Pandey 晓查 编译整理 量子位 出品 | 公众号 QbitAI 数据转化成更直观的图片,对于理解数据背后的真相很有帮助.如果你有这方面的需求,而且还在使用Python,那么强 ...
- 假如遇到一个注入点如何利用sqlmap这款工具如何去写webshell
利用sql注入写入webshell有两种方式 利用into outfile函数 利用这个漏洞的先决条件是: WEB目录具有写的权限,能够使用单引号 知道网站的根目录或者知道根目录以下的目录 Secur ...
- Python Flask微信小程序登录流程及登录api实现代码
1.小程序端调用wx.login 2.判断用户是否授权 3.小程序端访问 wx.getUserInfo 4.小程序端js代码:+ wx.login({success: resp => {// 发 ...
最新文章
- 不同编程语言之间的具体实现对比
- 使用Skywalking实现全链路监控
- Spring-AOP 切点/切面类型和创建切面
- java并发编程实践_Java并发编程实践如何正确使用Unsafe
- 迪杰斯特拉--- 模板(求最短路径/输出路径/所有路径都可以走的做法)
- 友盟消息推送服务器demo,友盟消息推送总结
- linux echo 变量 字符串,echo命令 – 输出字符串或提取Shell变量的值 – 运维那些事...
- 03.CSS选择器--交集并集选择器
- 一年级学python_Python这个黑科技,后悔没有早点学起来
- python+selenium+autoit实现自动百度识图
- 13.56MHz非接触式读写器芯片:CI521(AB卡,低成本)
- Android 隐藏APP图标
- 以太网(报头格式 | MTU | ARP)
- amigo幸运字符什么意思_做个爬虫比你想象中简单!爬虫是什么?怎么做?
- TP5 PHPExcel导出类
- 数据结构学习——RBT(红黑树)以及实现Map和Set
- DevExpress控件学习总结
- PLC信号处理系列之限幅器(Limiter)
- 关于 maven插件爆红或插件版本爆红问题解决(且本地仓库存在相应插件版本)
- Protege使用教程(基础篇)
热门文章
- python中scrapy框架_简述python Scrapy框架
- samtools merge_【生信工具】Samtools 安装与使用 | “十年以后,工具难免沦为朋友”...
- hive性能调优实战pdf_1分钟带你入门JVM性能调优,实战解析调优工具
- 开发日记-20190405
- python utc时间转换为strftime
- 机器学习中的数据不平衡问题----通过随机采样比例大的类别使得训练集中大类的个数与小类相当,或者模型中加入惩罚项...
- ES mapping可以修改include_in_all,也可以修改index_options,norm,但是无法修改_all属性!...
- requests 两种传参方式
- 洛谷P3183食物链题解
- 2015#183;Fool#39;s Day#183;NND