たとえば設定ファイルを JSON で書いておいて, dict で読んで, Class の変数にしたい.
文字列ルックアップだと, typo したときにバグになってしまうことがある.
とりあえず設定データ(e.g. 数値, 文字列)であれば __dict__
を update すれば行ける.
class Conf:
def __init__(self):
pass
d = { 'a': 3 }
c = Conf()
c.__dict__.update(d)
print(c.a)
変数を dict にしたい
逆に変数から dict を作るのも, __dict__
を iterate すれば行ける.
TODO
- すでに変数が定義されていると上書きされてしまうので, 上書きチェクの機能をつけてみたりする