1. ホーム
  2. python

[解決済み] インスタンスのクラス名を取得する?

2022-03-16 13:19:15

質問

Python で、あるオブジェクトのインスタンスを生成したクラス名を調べるにはどうしたらよいでしょうか。

と考えていたのですが inspectモジュール は、ここで私を助けたかもしれませんが、それは私が望むものを与えていないようです。また __class__ メンバーからこの情報を取得する方法がわかりません。

解決方法は?

を試しましたか? __name__ 属性 を指定します。 type(x).__name__ を実行すると、クラスの名前が表示されます。

>>> import itertools
>>> x = itertools.count(0)
>>> type(x).__name__
'count'

まだPython 2を使用している場合、上記の方法は次のように動作することに注意してください。 新スタイルのクラス のみです(Python 3+ではすべてのクラスが"new-style"クラスです)。あなたのコードでは、いくつかの古いスタイルのクラスが使われているかもしれません。以下はその両方に対応します。

x.__class__.__name__