python中isinstance的issubclass相当于什么?

Mar*_*llo 8 python introspection

给定一个对象,我如何判断它是否是一个类,以及给定类Foo的子类?

例如

class Bar(Foo):
  pass

isinstance(Bar(), Foo) # => True

issubclass(Bar, Foo) # <--- how do I do that?
Run Code Online (Sandbox Code Playgroud)

Chr*_*heD 22

它完全像人们期望的那样工作......

class Foo():
    pass

class Bar(Foo):
    pass

class Bar2():
    pass

print issubclass(Bar, Foo)  # True
print issubclass(Bar2, Foo) # False
Run Code Online (Sandbox Code Playgroud)

如果您想知道从给定基类派生的类的实例,您可以使用:

bar_instance = Bar()
print issubclass(bar_instance.__class__, Foo)
Run Code Online (Sandbox Code Playgroud)