1. ホーム
  2. python

[解決済み] 与えられたクラスの階層にあるすべてのベースクラスをリストアップしますか?

2022-04-24 18:14:59

質問

クラスがある場合 Foo (それが 新スタイル クラスを生成する場合、どのように すべて は、ベース・クラス(継承階層のどこであっても)である。 issubclass の?

解決方法は?

inspect.getmro(cls) は新旧両方のスタイル・クラスで動作し NewClass.mro() : クラスとそのすべての祖先クラスのリストで、 メソッド解決に使われる順番になっています。

>>> class A(object):
>>>     pass
>>>
>>> class B(A):
>>>     pass
>>>
>>> import inspect
>>> inspect.getmro(B)
(<class '__main__.B'>, <class '__main__.A'>, <type 'object'>)