gpt4 book ai didi

python - Python 中的枚举 : isInstance error

转载 作者:行者123 更新时间:2023-11-30 22:59:59 32 4
gpt4 key购买 nike

这段代码有什么问题,实现是否正确?

from enum import Enum

class Test(object):
Filters = Enum('Filters', 'A B C')
def __init__(self):
pass

def aaa(self, filters):
if(isinstance(filters, self.Filters.B)):
print 'OK'
else:
print 'NOT OK'
if __name__ == '__main__':
Test().aaa(Test.Filters.B)

错误是:

Traceback (most recent call last):
File "test.py", line 14, in <module>
Test().aaa(Test.Filters.B)
File "test.py", line 9, in aaa
if(isinstance(filters, Test.Filters.B)):
TypeError: isinstance() arg 2 must be a type or tuple of types

最佳答案

如果您想知道 filters 参数是否是 Test.Filters 枚举的成员,您有三种选择

  • isinstance(filters, Test.Filters)
  • self.Filters 中的过滤器

(Testself 可以互换。)

如果您想知道 filters 参数是否为 Test.Filters.B,那么可以进行简单的比较:

filters is self.Filters.B

关于python - Python 中的枚举 : isInstance error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35503404/

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