如何检查类型是否是Python中类型的子类型?我不是指类型的实例,而是比较类型实例本身。例如:
class A(object):
...
class B(A):
...
class C(object)
...
# Check that instance is a subclass instance:
isinstance(A(), A) --> True
isinstance(B(), A) --> True
isinstance(C(), A) --> False
# What about comparing the types directly?
SOME_FUNCTION(A, A) --> True
SOME_FUNCTION(B, A) --> True
SOME_FUNCTION(C, A) --> False
答案 0 :(得分:22)
也许issubclass?
>>> class A(object): pass
>>> class B(A): pass
>>> class C(object): pass
>>> issubclass(A, A)
True
>>> issubclass(B, A)
True
>>> issubclass(C, A)
False