这段代码有什么问题,实现是否正确?
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 中的过滤器
(Test
和 self
可以互换。)
如果您想知道 filters
参数是否为 Test.Filters.B
,那么可以进行简单的比较:
filters is self.Filters.B
关于python - Python 中的枚举 : isInstance error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35503404/