日記

日々のことと、Python/Django/PHP/Laravel/nodejs などソフトウェア開発のことを書き綴ります

辞書型のキーと値をクラスのプロパティに設定する

色々と難しい方向に探してしまったのでメモメモ。

setattr(target_instance, 'property_name', property_value)

まさか組み込み関数にあると思わなかった。

リフレクションでクラスインスタンスを作る場合は

classname = "C"
clazz = globals()[classname]
obj = clazz()

imethod = getattr(obj, 'imeth')
cmethod = getattr(clazz, 'cmeth')
smethod = getattr(clazz, 'smeth')

imethod("iglobals")
cmethod("cglobals")
smethod("sglobals")

参考

こんな感じらしい。