26

我正在使用 pylint 将一些代码更新为 PEP 8 标准。部分代码抛出 W0612 未使用的变量错误,但这是因为它使用了一个返回 (x,y) 的模块,例如在这种特殊情况下只需要 x 时,这就是所做的。

(var_1, var_2) = func()

def func():
    a="a"
    b="b"
    return (a,b)

然后返回 var_1 但从未使用 var_2 并因此引发错误。我该如何处理?我在想这个

var = func()[0]

处理它的最佳方法是什么?

4

1 回答 1

41

我相信这a, dummy = func()可以解决问题。Pylint 允许(如果我没记错的话)以_or开头的未使用的变量名称dummy,例如dummy_index.

您可以通过将--dummy-variables-rgx选项传递给 Pylint 来配置它。这指定了捕获虚拟变量名称的正则表达式。

Pylint 1.6.0 文档

虚拟变量-rgx:

    与虚拟变量名称匹配的正则表达式(即预期未使用)。默认值:(_+[a-zA-Z0-9]*?$)|dummy

注意:使用_确实会引起混乱(道具:Sven Marnach)。有一个约定使用单下划线作为半私有标识符的前缀,双下划线当然是特殊 Python 方法的前缀,最重要的是,在需要本地化的程序中,有一个别名gettext()函数的约定,如._()_("text to translate")

于 2012-04-11T13:55:58.760 回答