所以我试图在python中使用枚举,并遇到以下错误:
当我使用枚举作为元组并给它两个值时,我无法仅访问一个值,例如tuple[0]
class Rank(Enum):
ACE = 1
TWO = 2
THREE = 3
FOUR = 4
FIVE = 5
SIX = 6
SEVEN = 7
EIGHT = 8
NINE = 9
TEN = 10
JACK = 11
QUEEN = 12
KING = 13, "King"
print (Rank.KING.value)
印刷品是
(13,'King')
如何仅访问一个值,以便打印13或“ King”?
答案 0 :(得分:3)
使用enum.Enum
,类变量名本身成为name
实例的枚举属性的Enum
属性,因此您不必将KING
设置为值和名称的元组:
class Rank(Enum):
King = 13
print(Rank.King.name) # outputs 'King'
print(Rank.King.value) # outputs 13
如果您想使用大写字母命名类变量,但是将它们的name
值混合大小写,而不是Enum
的目的,那么您必须将{{ 1}},并自行覆盖Enum
方法以自定义行为:
name
答案 1 :(得分:0)
您可以像在数组上一样使用索引:
>>> KING = 13, 'King'
>>> KING
(13, 'King')
>>> KING[0]
13
>>> KING[1]
'King'
>>>
答案 2 :(得分:0)
欢迎来到stackoverflow。 以下是您访问13或“国王”的方法
Rank.KING.value[0]
Rank.KING.value[1]