python枚举enum,Python枚举 - 获取字符串转换的枚举值

I have following enum defined

from enum import Enum

class D(Enum):

x = 1

y = 2

print(D.x)

now the printed value is

D.x

instead I wanted the enum's value to be print

1

what can be done to achieve this functionality.

解决方案

You are printing the enum object. Use the .value attribute if you wanted just to print that:

print(D.x.value)

If you have an enum member and need its name or value:

>>>

>>> member = Color.red

>>> member.name

'red'

>>> member.value

1

You could add a __str__ method to your enum, if all you wanted was to provide a custom string representation:

class D(Enum):

def __str__(self):

return str(self.value)

x = 1

y = 2

Demo:

>>> from enum import Enum

>>> class D(Enum):

... def __str__(self):

... return str(self.value)

... x = 1

... y = 2

...

>>> D.x

>>> print(D.x)

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值