Answers:
您正在打印枚举对象。.value如果只想打印该属性,请使用该属性:
print(D.x.value)如果您有枚举成员并需要其名称或值:
>>> >>> member = Color.red >>> member.name 'red' >>> member.value 1
__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)
1if  D.x == 10: ...。我应该采用什么方法处理整数?
                    D.x是枚举对象,D.x.value是整数。如果必须让枚举值像整数一样使用,请使用IntEnumtype,其中每个元素都是的子类,int因此IntEnumD.x == 10可以使用。
                    def __eq__(self, other):         return int(self.value) == other,def __int__(self):         return int(self.value)但我仍然想.value在不使用比较的情况下使用
                    __eq__当other另一个枚举值时,该实现不起作用;D.x == D.y,D.x.value == D.y.value例如,在正确的情况下将失败。听起来您想使用它IntEnum而不是Enum那里。
                    我使用以下方法实现了访问
class D(Enum):
    x = 1
    y = 2
    def __str__(self):
        return '%s' % self.value现在我可以做
print(D.x)得到1结果。
self.name如果您想打印x,也可以使用代替1。
self._value_?return str(self.value)更直接。
                    self.value更干净。
                    value用作枚举类型的名称)。