【发布时间】:2019-02-07 10:48:04
【问题描述】:
我在我的 Python 代码中设置了一个枚举“A”的可能命令。 我还将创建另一个枚举“B”,列出一些特定的命令“A”。
所以我尝试了:
class all_commands(IntEnum):
SET_ELEMENT_A = 0x00000001
GET_ELEMENT_A = 0x00000007
GET_ELEMENT_B = 0x0000000E
SET_ELEMENT_C = 0x00000010
GET_ELEMENT_C = 0x00000011
GET_ELEMENT_D = 0x00000015
class getter_commands(IntEnum):
all_commands.GET_ELEMENT_A
all_commands.GET_ELEMENT_B
all_commands.GET_ELEMENT_C
all_commands.GET_ELEMENT_D
这对我来说似乎是正确的,但是当我尝试时
all_commands.GET_ELEMENT_A in getter_commands
我得到一个False 结果值。
这是正常行为吗?还是我的代码错了?
我尝试使用列表,它适用于all_commands.GET_ELEMENT_A,但我认为Enum 类型会更好
getter_commands = [all_commands.GET_ELEMENT_A,
all_commands.GET_ELEMENT_B,
all_commands.GET_ELEMENT_C,
all_commands.GET_ELEMENT_D]
感谢您的帮助!
【问题讨论】:
-
all_commands.GET_ELEMENT_A访问属性,它不会将其保存到getter_commands类字段 -
所以没有办法使用第二个
Enum引用第一个,对吧? -
如果你想在
getter_commands枚举中有一个成员GET_ELEMENT_A,你可以做GET_ELEMENT_A = all_commands.GET_ELEMENT_A
标签: python-3.x list enums