给定一个对象,我如何判断它是否是一个类,以及给定类Foo的子类?
e.g。
class Bar(Foo):
pass
isinstance(Bar(), Foo) # => True
issubclass(Bar, Foo) # <--- how do I do that?
答案 0 :(得分:22)
它完全像人们期望的那样工作......
class Foo():
pass
class Bar(Foo):
pass
class Bar2():
pass
print issubclass(Bar, Foo) # True
print issubclass(Bar2, Foo) # False
如果您想知道某个类的实例是否来自给定的基类,您可以使用:
bar_instance = Bar()
print issubclass(bar_instance.__class__, Foo)