我定义了以下枚举:
from enum import Enum class D(Enum): x = 1 y = 2 print(D.x)
现在打印的值为
D.x
相反,我希望打印枚举的值
1
可以做些什么来实现这个功能?
您正在打印枚举 对象 。.value如果您只想打印该属性,请使用该属性:
.value
print(D.x.value)
请参阅 对枚举成员及其属性的编程访问 部分:
如果您有一个枚举成员并且需要它的名称或值: >>> >>> member = Color.red >>> member.name 'red' >>> member.value 1
如果您有一个枚举成员并且需要它的名称或值:
>>> >>> member = Color.red >>> member.name 'red' >>> member.value 1
__str__如果您只想提供自定义字符串表示,则可以向枚举添加方法:
__str__
class D(Enum): def __str__(self): return str(self.value) x = 1 y = 2
演示:
>>> from enum import Enum >>> class D(Enum): ... def __str__(self): ... return str(self.value) ... x = 1 ... y = 2 ... >>> D.x <D.x: 1> >>> print(D.x) 1