皮林特错误地抱怨未定义的变量

时间:2019-09-11 21:34:58

标签: python pylint undefined-variable

摘要

Pylint抱怨类声明和以下函数中的未定义变量。如果我注释掉类声明,则函数仍会突出显示,我不确定为什么。

环境

操作系统:Suse Leap 42.3
编辑器:vscode 1.38
的Python:3.4.6
皮林特:1.4.4
Pylint Args:[“-load-plugin”,“ pylint_protobuf”,“-enable = F,E,W”]

复制案例

#!/usr/bin/env python3
'''Dummy doc string'''

from ctypes import * # pylint: disable=unused-wildcard-import

class BOX(Structure):
    _fields_ = [("x", c_float),
                ("y", c_float),
                ("w", c_float),
                ("h", c_float)]

def example(a, b):
    c = str(a + b)
    print(c)

哪个会产生以下错误/警告

  

未定义变量'Structure'pylint(未定义变量)[6,11]
  未定义变量'a'pylint(未定义变量)[13,13]
  未定义变量'b'pylint(未定义变量)[13,17]
  未定义变量'c'pylint(未定义变量)[14,11]
  在本地禁用未使用的通配符导入(W0614)pylint(在本地禁用)[4,1]

如果我将鼠标悬停在Structure上,我会看到class PyCStructType(),同样,如果我将鼠标悬停在c上,我也会看到c: str,因此数据类型是已知的。

问题

  • 为什么上面的代码会产生pylint错误? (我预计只会看到有关在本地禁用未使用的通配符导入的警告)
  • 此问题是否特定于我的环境? (旧版本的python等)

我不想使用# pylint: disable=undefined-variable

0 个答案:

没有答案