什么是Python中isinstance的issubclass等价物?

2024-09-28 20:55:51 发布

您现在位置:Python中文网/ 问答频道 /正文

给定一个对象,如何判断它是一个类,还是一个给定类Foo的子类?

例如

class Bar(Foo):
  pass

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

issubclass(Bar, Foo) # <--- how do I do that?

Tags: 对象truethatfoobarpass子类do
1条回答
网友
1楼 · 发布于 2024-09-28 20:55:51

它的工作原理和人们期望的一样。。。

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)

相关问题 更多 >