# -*- coding: utf-8 -*- import inspect class A: pass class B(A): pass class C(): pass class D(C, B): pass # クラスのスーパークラスをタプルで取得する print D.__bases__ # クラスが継承しているクラス(自身も含め)をタプルで取得する print inspect.getmro(D) # インスタンスが属しているクラスを取得する print D().__class__
実行すると
(<class __main__.C at 0xb7bed1dc>, <class __main__.B at 0xb7bed1ac>) (<class __main__.D at 0xb7bed20c>, <class __main__.C at 0xb7bed1dc>, <class __main__.B at 0xb7bed1ac>, <class __main__.A at 0xb7cbc59c>) __main__.D
詳細はドキュメントで
0 件のコメント:
コメントを投稿