python で変数名の文字列でインスタンス変数にアクセスする方法のメモ。
getattr(インスタンス, インスタンス変数名) で指定インスタンスのインスタンス変数の値を取得することができます。
また、setattr(インスタンス, インスタンス変数名, 値) でインスタンス変数に値を設定することができます。
■実行結果
getattr(インスタンス, インスタンス変数名) で指定インスタンスのインスタンス変数の値を取得することができます。
また、setattr(インスタンス, インスタンス変数名, 値) でインスタンス変数に値を設定することができます。
class Test: def __init__(self): self.var1 = 'abc' self.var2 = 'def' def get(self, var): return getattr(self, var) def set(self, var, val): setattr(self, var, val) test = Test() test.set('var3', 'ghi') print(test.get('var1')) print(test.get('var2')) print(test.get('var3'))
■実行結果
abc def ghi