1

我得到了很多 pylint 误报,它看起来很普通,我无法想象它还没有解决:-/

以下代码在 pylint 中生成误报,因为它不能正确识别关键字参数:

class A:
    def __init__(self, *t, x=None):
        if x==1:  # E0601, using variable 'x' before assignment
            x=2
        print(x)

A(x=1)

这通常是由于 pylint 在*. 你知道 pylint 是否仍然处于活动状态,在哪里报告它,或者如何找到是否有人已经修补了这个?我找不到对谷歌有用的东西:(也许偶然,有人知道一个看起来很普通的补丁......

4

3 回答 3

3

这实际上不是有效的 Python(至少在 2.x 中)。特定的关键字参数必须在*argsand之前**kwargs。如果您尝试将其粘贴到 Python shell 中,您将看到一个错误。它应该如下所示:

def __init__(self, x=None, *t):
于 2012-03-19T16:47:04.967 回答
2

你知道 pylint 是否仍然处于活动状态,在哪里报告它,或者如何找到是否有人已经修补了这个?

我潜伏在Pylint 和其他 logilab 项目的邮件列表中。它不是很活跃,但它还没有死。

Pylint 的错误跟踪器可以在http://www.logilab.org/857找到

Pylint的项目页面上还提到了一个 IRC 频道:#pylint on FreeNode。

于 2012-03-19T16:52:48.653 回答
1

皮林特根本没有死!报告 pb 的最佳方式是在http://www.logilab.org/project/pylint或 python-projects@logilab.org 邮件列表上提交票证。IRC 很好,但不是首选方式。

Python 3 支持正在缓慢推进,因为我们在 Logilab 还没有大量使用它。但与其他开源项目一样,补丁也受到热烈欢迎。

于 2012-03-20T08:09:59.483 回答