しげぽん日記

技術屋の魂は失わない

変数に格納された文字列の名称のクラスインスタンスを作成する

ネットで調べてこうしたらできるんじゃねーかってのを見つけた。

clazz = getattr(sys.modules[<モジュール名>], <クラス名>)
instance = clazz()

 でもこのスクリプト自身でクラス定義している場合はどう書くんだ?って思ったら以下の通りだった。まぁそうか。普段使わないので気付くのに時間かかった。

clazz = getattr(sys.modules['__main__'], <クラス名>)
instance = clazz()