我正在使用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]
最好的处理方法是什么?
我相信a, dummy = func()
可以解决问题。 Pylint允许(如果我没记错的话)以_
或dummy
开头的未使用的变量名称,例如dummy_index
。
您可以通过将--dummy-variables-rgx
选项传递给Pylint进行配置。这指定捕获虚拟变量名称的正则表达式。
dummy-variables-rgx:
正则表达式匹配虚拟变量的名称(即预期不使用)。默认值:(_ + [a-zA-Z0-9] *?$)|虚拟
注:使用_
确实会引起混乱(道具:Sven Marnach)。有一个约定使用单下划线作为半私有标识符的前缀,双下划线当然是特殊Python方法的前缀,并且最重要的是,在需要本地化的程序中,alias gettext()
函数的名称为_()
如_("text to translate")
。