8

オブジェクトが与えられた場合、それがクラスであるか、特定のクラス Foo のサブクラスであるかをどのように見分けるのですか?

例えば

class Bar(Foo):
  pass

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

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

1 に答える 1

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)
于 2009-11-03T09:01:43.867 に答える