Pycharm - 禁用'局部变量'xxx'可能在分配之前被引用'
Posted
技术标签:
【中文标题】Pycharm - 禁用\'局部变量\'xxx\'可能在分配之前被引用\'【英文标题】:Pycharm - Disable 'Local variable 'xxx' might be referenced before assignment'Pycharm - 禁用'局部变量'xxx'可能在分配之前被引用' 【发布时间】:2019-08-04 22:25:55 【问题描述】:在 pycharm 中,我想禁用以下检查警告: “局部变量 'xxx' 可能在赋值之前被引用”,但我在设置/检查中找不到它。
PS:这不是重复的,因为我理解这个警告。我只是问如何在pycharm中禁用它。
更新:请在下面找到我的意思的示例
cond = True
def add1(x):
return x+1
if cond:
a = 1
if cond:
b = add1(a) # the warn is on the 'a'
解决方案:
“未绑定的局部变量”检查。 (参见下面的 Lomtrur 答案)
【问题讨论】:
您是否使用了全局变量xxx
?是什么导致了这个警告?
不,它是一个局部变量。在 main() 中,if cond : var =fct1()
和后来的 fct2(var)
显示此警告。但我不在乎,这是我的编码风格。
如果在a
后面单击并按Alt+Enter 会发生什么?这应该告诉您要禁用哪个检查,或者这不起作用?你的 PyCharm 版本是多少?
这是“未绑定的局部变量”检查。感谢 Lomtrur 这个方法。
【参考方案1】:
您可以通过在警告前的行中添加以下注释来在本地禁用它:
# noinspection PyUnboundLocalVariable
它只适用于那个实例。
如果您将那段代码放在函数或方法声明之前,它将抑制整个函数或方法的消息。
你的情况
if cond:
# noinspection PyUnboundLocalVariable
b = add1(a)
【讨论】:
【参考方案2】:将光标紧跟在a
之后。它应该有彩色背景或带下划线以表明这是警告所在的位置。然后按Alt+Enter
打开上下文菜单。这应该向您展示检查是什么,并提供禁用它的选项。 (PyCharm 2018.2.5 专业版)
【讨论】:
太棒了。解决方案是“未绑定局部变量”检查。谢谢你的方法,我也学会了钓鱼。 另外,这个方法,以及代码分析方法,都被描述为in the documentation section on suppressing inspections。如果您不了解代码分析方法,我会检查一下,因为它也很强大。以上是关于Pycharm - 禁用'局部变量'xxx'可能在分配之前被引用'的主要内容,如果未能解决你的问题,请参考以下文章
关于在pycharm下提示ModuleNotFoundError: No module named 'XXX' 的一种可能
如何禁用警告“省略局部变量的类型注释”?在 Dart 中(带有 Pedantic 包)
如何在鼠标悬停时禁用 JetBrains IDE(IntelliJ IDEA、PyCharm、WebStorm)中的自动显示提示