Python linting: 什么是好的?
有没有什么好的工具可以用来检查代码中的错误呢?我原本以为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