Pythonで動的にクラスを切り替える方法

Pythonで動的にクラスを切り替える方法です。

例えばシステムによって機能ごと動作を変更する際に使える方法です。

サンプル自体は簡単なので早速見ていきましょう。

スポンサーリンク

Pythonで動的にクラスを切り替える方法

Pythonで動的にクラスを切り替えるには「type()」を利用します。

type(object)は、引数に渡したオブジェクトの型を返す関数で、オブジェクトの型を調べる時に使います。

このtype(object)の戻り値は「strやintなどのtype型(型オブジェクト)」なので、それをそのまま利用します。

typeでにクラスを切り替える

type(object)を利用してクラスを目的のものに入れ替えます。

入れ替えるタイミングは「__new__()」メソッドで行います。

上記の「type( C() )」で目的のクラスを戻り値として受け取って、そのクラスで自分自身を初期化します。

実行結果は

になります。

当然

では

になります。

まとめ

Pythonで動的にクラスを切り替えるには「type(object)」の戻り値で自分自身を初期化すると簡単にできました。

単純なクラスの切り替えならこれで十分ですね。

以上、Pythonで動的にクラスを切り替える方法でした。

タイトルとURLをコピーしました