【问题标题】:Explicitly declaring variable as unused in Python/PyCharm在 Python/PyCharm 中明确声明变量未使用
【发布时间】:2015-12-12 16:53:28
【问题描述】:

有没有办法在 PyCharm 或 Python 中将变量声明为未使用,这样您就可以明确告诉编译器不要发出警告?

我不是在谈论为程序员命名未使用变量的约定(通常命名为“_”或“__”),而是为编译器显式标记变量为未使用的选项,例如在循环中。我也不只是想禁用一般的检查。

我听说你可以在 PyDev 中通过以“未使用”开头的变量名来做到这一点,我认为这可能也存在于 PyCharm 中,但还没有找到。

【问题讨论】:

标签: python pycharm


【解决方案1】:

您可以为单个语句禁用此检查,例如:

# noinspection PyUnusedLocal
unused_thing = something()

或者对于整个函数(或类),通过将注释放在函数(或类)上方:

# noinspection PyUnusedLocal
def foo():
    unused_thing = something()

由于某种原因,无法通过检查上下文菜单关闭此特定检查...也许值得一张 pycharm 票。

【讨论】:

  • 这应该是答案:)
【解决方案2】:

我注意到对一次性变量名称使用单个下划线似乎绕过了此检查。我正在使用 PyCharm 2016.1.3。

for _ in range(3):
    pass

【讨论】:

  • 对 pylint 也有好处。
  • PyCharm 现在似乎也能识别双下划线 __,例如for _, __ in my_dict.items()
  • 有时将单个下划线用作 gettext 的别名,在这种情况下不能使用此技巧。但是在“未使用的本地”检查的设置中,您可以将 PyCharm 配置为忽略以下划线开头的任何变量。
【解决方案3】:

另一种方式,类似于 C++ 中的 UNUSED (here),如果您想隐藏特定函数参数上的警告但保持对函数的其余部分启用警告,则该方式有效:

# noinspection PyUnusedLocal
def UNUSED(*args, **kwargs):
    pass

def my_function(alpha, beta, gamma):
    UNUSED(gamma)
    return alpha + beta

【讨论】:

    【解决方案4】:

    您可以轻松且最少干扰地忽略 pycharm unused local 警告(仅)用于未使用的函数参数,方法是在它们前面加上下划线。

    例如

    在下面的代码中,pycharm不会对未使用的参数_bar发出警告

    def foo(_bar):
        print("nothing here")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 2021-07-04
      • 2018-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多