我正在尝试使用此函数来自动枚举多个常量,并在最后一行给我一个错误:
类'Enum'没有'POWER'成员pylint(no-member)
代码是:
from enum import Enum
def enum(*sequential, **named):
enums = dict(zip(sequential, range(len(sequential))), **named)
return type('Enum', (), enums)
meas = enum("HARMONIC","POWER","VRMS")
print (meas.POWER) #i expected: >1 (type int)
我不理解这个问题。我想要一种解决方案或其他形式。谢谢。
因此,为了方便起见,Enum
类已经提供了您尝试重新创建的内容,并且使用类似于collections.namedtuple
的API:
>>> from enum import Enum
>>> Meas = Enum("Meas", "HARMONIC POWER VRMS")
>>> Meas.POWER
<Meas.POWER: 2>
[我想Enum
既是基本类又是类工厂,这很不寻常。