【发布时间】:2016-07-15 10:32:21
【问题描述】:
我有一个这样的枚举
@enum.unique
class TransactionTypes(enum.IntEnum):
authorisation = 1
balance_adjustment = 2
chargeback = 3
auth_reversal = 4
现在我用这个枚举分配一个变量,像这样
a = TransactionTypes
我想检查 'a' 的类型,如果它是枚举,则做一些事情,如果不是枚举,则做其他事情
我试过这样的
if type(a) == enum:
print "do enum related stuff"
else:
print "do something else"
问题是它不能正常工作。
【问题讨论】:
-
enum是模块,为什么会等于type(TransactionTypes)?你想要if issubclass(a, enum.Enum):吗? -
您可以使用members special attribute 来迭代成员
标签: python-2.7 enums typechecking