say
模块为Python带来字符串插值,如下所示:
import say
def f(a):
return say.fmt("The value of 'a' is {a}")
然而,PyLint抱怨变量'a'从未使用过。这是一个问题,因为我的代码广泛使用say.fmt
。我该如何沉默这个警告?
答案 0 :(得分:25)
是的,您可以将pylint警告静音。
这是一种方式:
import say
def f(a):
#pylint: disable=unused-argument
return say.fmt("The value of 'a' is {a}")
或者,您可以创建配置文件并将这些行添加到其中:
[MESSAGES CONTROL]
disable=unused-argument
参考:
答案 1 :(得分:6)
对该消息进行静默的一种方法是使用dummy
或_
为参数命名或加前缀,如:
import say
def f(_a):
return say.fmt("The value of 'a' is {_a}")
有关详细信息,请参阅此处:https://stackoverflow.com/a/10107410/1080804
答案 2 :(得分:0)
现在有disable-possibly-unused-variable
(自pylint 2.0 was released on 2018-07-15起),在导入您的say
模块的文件中可以忽略它:
添加了新的可能未使用的变量检查。
这类似于未使用变量,唯一的区别是,当我们在未使用变量的范围内检测到locals()调用时会发出该变量。通过使用直到调用点为止的所有值,locals()调用可以潜在地使用所述变量。当用户有意使用locals()消耗所有东西时,这项新检查可以禁用此错误。
例如,以下代码现在将触发此新错误:
def func(): some_value = some_call() return locals()
此支票explicitly includes your use case的理由,尽管已指出这不是一个完美的解决方案:
如果在同一范围内使用locals(),则最好对未使用的变量进行单独检查:
def example_no_locals(): value = 42 # pylint: disable=unused-variable def exmaple_defined_before(): value = 42 # pylint: disable=possibly-unused-variable print(locals()) def exmaple_defined_after(): print(locals()) value = 42 # pylint: disable=unused-variable
这样做的好处是,可以禁用文件(其中包含很多字符串格式,或者#641中的配置代码示例)或整个项目的可能未使用的变量,而无需对未使用的变量进行检查-变量。