我使用的是python 3.4.2和pylint 1.5.2。当我使用enum类型的变量时,Pylint正在打印一个r:重新定义的变量类型警告。下面的脚本演示了这个问题:
EnumRepro.py:
from enum import Enum
class MyEnum(Enum):
Value1 = 1
Value2 = 2
myEnum = MyEnum.Value1
print("my enum is {}".format(myEnum))
# Huh? this line generates
# warning R0204: Redefinition of myEnum type from EnumRepro.MyEnum.Value1 to
# EnumRepro.MyEnum.Value2 [R:redefined-variable-type]
myEnum = MyEnum.Value2 # this generates
print("my enum is {}".format(myEnum))
有什么建议吗?目前,每当我使用枚举时,我都会禁用R0204,但这并不理想。
谢谢!
这是pylint(通常是enums和R0204)的问题。报告了多个问题,例如。https://github.com/PyCQA/pylint/issues/781
因此,暂时禁用或完全禁用R0204是可以的。