gpt4 book ai didi

python-2.7 - 如何在python中检查变量是否为enum类型

转载 作者:行者123 更新时间:2023-12-04 09:13:48 24 4
gpt4 key购买 nike

我有一个像这样的枚举

@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"


问题是它不能正常工作。

最佳答案

现在我用这个枚举分配一个变量


a = TransactionTypes


我希望您不是,因为您刚刚分配给 a的是整个枚举,而不是其成员之一(例如 TransactionTypes.chargeback)。如果这确实是您想要执行的操作,那么正确的测试应该是:

if issubclass(a, enum.Enum)


但是,如果您实际上的意思是:

a = TransactionTypes.authorisation


那么您需要进行的测试是:

# for any Enum member
if isinstance(a, Enum):


要么

# for a TransactionTypes Enum
if isinstance(a, TransactionTypes):

关于python-2.7 - 如何在python中检查变量是否为enum类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38393897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com