该say
模块为 Python 带来了字符串插值,如下所示:
import say
def f(a):
return say.fmt("The value of 'a' is {a}")
但是,PyLint 抱怨从未使用过变量“a”。这是一个问题,因为我的代码say.fmt
广泛使用。我怎样才能使这个警告静音?
该say
模块为 Python 带来了字符串插值,如下所示:
import say
def f(a):
return say.fmt("The value of 'a' is {a}")
但是,PyLint 抱怨从未使用过变量“a”。这是一个问题,因为我的代码say.fmt
广泛使用。我怎样才能使这个警告静音?
是的,您可以使 pylint 警告静音。
这是一种方法:
import say
def f(a):
# pylint: disable=unused-argument
return say.fmt("The value of 'a' is {a}")
或者,您可以创建一个配置文件并将这些行添加到其中:
[MESSAGES CONTROL]
disable=unused-argument
参考:
使该消息静音的一种方法是使用dummy
or命名或为参数添加前缀_
,如:
import say
def f(_a):
return say.fmt("The value of 'a' is {_a}")
有关更多信息,请参见此处:https ://stackoverflow.com/a/10107410/1080804
现在有disable-possibly-unused-variable
(因为pylint 2.0 于 2018-07-15 发布),在导入say
模块的文件中可以忽略它:
添加了新的可能未使用的变量检查。
这类似于未使用变量,唯一的区别是当我们在未使用变量的范围内检测到 locals() 调用时会发出它。locals() 调用可能会使用所述变量,方法是使用在调用点之前存在的所有值。当用户有意使用 locals() 来消耗所有内容时,此新检查允许禁用此错误。
例如,以下代码现在将触发这个新错误:
def func(): some_value = some_call() return locals()
此检查的基本原理明确包括您的用例,尽管注意到它不是一个完美的解决方案:
如果 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 中的配置代码示例)或整个项目禁用可能未使用的变量,而不会丢失对未使用变量的检查。