Python linting: 什么是好的?

1 投票
2 回答
2358 浏览
提问于 2025-04-15 16:53

有没有什么好的工具可以用来检查代码中的错误呢?我原本以为pylint能够发现函数默认参数使用上的错误,像这样的错误:

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

但我很失望,因为它没有报告这些错误。我希望能找到一些比PEP8格式检查更强大的工具。

2 个回答

1

这不是你代码中的错误,如果这是你想要的结果。不过,正如被接受的答案所说,使用空列表作为默认值是有点“危险”的,因为这样容易引入一些难以发现的问题。

5

我试了第一个例子,结果PyLint 0.18.1给了我一个警告:

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

撰写回答