python语言采用________方式运行程序_Python语言规范之Lint使用(一)

Pylint是一款Python静态代码分析工具,用于查找编程错误、帮助执行编码标准,并提供重构建议。本文介绍Pylint的工作原理、如何安装及使用,以及如何正确地忽略警告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python 是 Google主要的脚本语言,《Python语言规范》是Python风格指南的一部分,阐述了python的编程准则。而Python风格指南是Google 开源项目风格指南中Python部分,除此之外还有C++风格指南、Objective-C风格指南和Shell风格指南。

Google或许忘了还要出一本谷歌搜索风格指南吧。

Lint

对你的代码运行pylint。

定义:

Pylint是一个Python静态代码分析工具,它可以查找编程错误、帮助执行编码标准、嗅探代码气味(蛇皮味?)并提供简单的重构建议。对于C和C++这样的不那么动态的(译者注: 原文是less dynamic)语言,这些bug通常由编译器来捕获。由于Python的动态特性, 有些警告可能不对,不过伪告警应该很少。

维基百科是这么定义的,更宽泛一点:

在计算机科学中,lint是一种工具程序的名称,它用来标记源代码中,某些可疑的、不具结构性(可能造成bug)的段落。它是一种静态程序分析工具,最早适用于C语言,在UNIX平台上开发出来。后来它成为通用术语,可用于描述在任何一种计算机程序语言中,用来标记源代码中有疑义段落的工具。

最早开发lint工具的大佬是对洋娃娃情有独钟吧,百度翻译告诉我lint是“(敷伤口用的)纱布;(织物在制作过程中从表面掉落的)纤维屑,飞花;(毛料、棉布等的)绒毛”。

优点:

可以捕获容易忽视的错误,例如输入错误,使用未赋值的变量等。而对于逻辑错误就无能为力了,因此不能依赖pylint就不动我们的小脑袋了。

缺点:

pylint不完美,要利用其优势,取长补短,我们有时侯需要:

围绕着它来写代码

抑制其告警

改进它, 或者

忽略它

结论:

确保对你的代码运行pylint,抑制不准确的警告,以便能够将其他警告暴露出来。

如果pylint对你产生了某种误会,你可以通过设置一个行注释来抑制警告,例如:

dict = 'something awful' # Bad Idea... pylint: disable=redefined-builtin

pylint警告是以一个数字编号(如[scode] C0112 [/scode])和一个符号名(如 [scode]empty-docstring[/scode] )来标识的。在编写新代码或更新已有代码时对告警进行抑制,推荐使用符号名来标识。

如果警告的符号名不够见名知意,那么请对其增加一个详细解释。

采用这种抑制方式的好处是我们可以轻松查找抑制并回顾它们。

你可以使用命令 [scode]pylint --list-msgs[/scode] 来获取pylint告警列表,使用命令 [scode]pylint --help-msg=C6409 [/scode]以获取关于特定消息的更多信息。

相比较于之前使用的 [scode]pylint: disable-msg[/scode] , 本文推荐使用 [scode]pylint: disable[/scode] 。

要抑制”参数未使用”告警,你可以用”_”作为参数标识符,或者在参数名前加”unused_”。遇到不能改变参数名的情况,你可以通过在函数开头”提到”它们来消除告警。例如:

def foo(a, unused_b, unused_c, d=None, e=None):

_ = d, e

return a

Pylint官方网站:https://www.pylint.org/

Pylint它是高度可配置的,由特殊的程序来控制代码中的错误和警告,以及一个扩展的配置文件。也可以编写自己的插件来添加自己的检查或以某种方式扩展pylint。

除非另有说明,这是一个根据GNU通用公共许可证发行的自由软件。

开发托管在GitHub上:https://GitHub.com/PyCQA/pylint/

安装

pip一键安装大法:

pip install pylint

如果使用的是Python3.6+,升级以获得对版本的完全支持:

pip install pylint --upgrade

如果要从源发行版安装,提取文件后并切换到目录下执行:

python setup.py install

源下载地址:https://pypi.org/project/pylint/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值