python でインスタンス変数の一覧を参照する方法のメモ。
__dict__ や vars() でインスタンス変数とその値を参照することができます。
未定義の変数を get() で参照しようとすると、None が返却されます。
実行結果
__dict__ や vars() でインスタンス変数とその値を参照することができます。
未定義の変数を get() で参照しようとすると、None が返却されます。
import sys class TestClass: def __init__(self): self.var1 = "value1" self.var2 = "value2" def output_vars(self): print("* __dict__") for var, val in self.__dict__.items(): print("%s -- %s" % (var, val)) print("* vars()") for var, val in vars(self).items(): print('%s -- %s' % (var, val)) print("* vars().get()") for var in ['var1', 'var2', 'var3']: val = vars(self).get(var) print('%s -- %s' % (var, val)) t = TestClass() t.output_vars()
実行結果
* __dict__ var1 -- value1 var2 -- value2 * vars() var1 -- value1 var2 -- value2 * vars().get() var1 -- value1 var2 -- value2 var3 -- None