Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでインスタンスのクラス名を取得する方法をわかりやすく解説

Pythonでは、__class__ 属性を使うことで、あるインスタンスがどのクラスから生成されたものかを簡単に確認できます。さらに __class__.__name__ を使えば、クラス名だけを文字列として取り出すことも可能です。

以下に、具体的なコード例とその実行結果を示します。

サンプルコード

class Number:
    def __init__(self, number):
        self.number = number

n1 = Number(1)
print(n1.__class__)
print(n1.__class__.__name__)

実行結果

このコードを実行すると、次のような出力が得られます。

<class '__main__.Number'>
Number

解説

n1.__class__ は、インスタンス n1 のクラスオブジェクトそのもの(<class '__main__.Number'>)を返します。一方、n1.__class__.__name__ は、そのクラスオブジェクトが持つ __name__ 属性を参照するため、モジュール名などを含まない純粋なクラス名「Number」のみが出力されます。

デバッグ時やログ出力時にオブジェクトの型を動的に確認したい場合、また条件分岐でクラスごとに処理を変えたい場合などに、この手法は非常に便利です。なお、より高度な型判定を行いたい場合は、組み込み関数の type()isinstance() を併用するのも良い選択肢です。

  1. PythonとMatplotlibで点群の中心座標を取得・可視化する方法

    一連のポイント(点群)の中心を求めるには、リスト内のすべての要素を合計し、その合計値をリストの要素数(長さ)で割ります。この計算結果が、対応する各軸における中心座標となります。これはいわゆる「平均値」であり、点群の重心を表します。実装の手順データポイントとして x 座標と y 座標の2つのリストを作成します。plot() メソッドを使って、x および y のデータポイントをプロットします。x と y の各リストから、sum() と len() を組み合わせて中心座標のタプルを算出します。算出した中心点をグラフ上にプロットします。annotate() メソッドを使い、中心点に「center」とい

  2. Python Tkinterでルートウィンドウを非表示・破棄する2つの方法

    Tkinterアプリケーションのテスト中に、デフォルトのウィンドウやフレームを一時的に隠したい、あるいは完全に閉じたいという場面に遭遇することがあります。Tkinterでは、withdraw()メソッドによる「非表示」と、destroy()メソッドによる「破棄」の2つのアプローチが用意されています。mainloop()とウィンドウのライフサイクルmainloop()は、外部イベントによってウィンドウが閉じられるまで、Tkinterアプリケーションを実行し続ける役割を担います。このメインループが動作している間、ウィンドウは画面上に表示され続けます。ウィンドウを完全に破棄(終了)したい場合は、de