Linting Python:什么是好的?

发布于 2024-08-14 02:38:11 字数 334 浏览 4 评论 0原文

是否有任何好的模块可以针对您的代码运行以捕获编码错误?我希望 pylint 在使用函数默认参数时发现错误 像这样< /a>:

>>> def spam(eggs=[]):
...     eggs.append("spam")
...     return eggs

但很失望地发现它们没有被报告。我正在寻找 PEP8 格式之外的东西。

Are there any good modules that you can run against your code to catch coding errors? I expected pylint to catch mistakes in the use of default arguments to functions like this:

>>> def spam(eggs=[]):
...     eggs.append("spam")
...     return eggs

but was disappointed to find them unreported. I am looking for something beyond PEP8 formatting.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谢绝鈎搭 2024-08-21 02:38:11

我尝试了第一个示例,PyLint 0.18.1 给了我警告:

W:  1:spam: Dangerous default value [] as argument

I tried the first example and PyLint 0.18.1 gave me the warning:

W:  1:spam: Dangerous default value [] as argument
憧憬巴黎街头的黎明 2024-08-21 02:38:11

如果您想要这样做,那么这不是代码中的错误。然而,正如接受的答案中所指定的,空列表是一个“危险”的默认值,因为它很容易引入难以发现的问题。

That is not an error in your code if that is what you want to do. However, as specified in the accepted answer, an empty list is a "dangerous" default value in that it is easy to introduce hard-to-find problems.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文