2012-01-17 9 views
2

pythonでどのようにcls.variable形式のインスタンスの属性にアクセスするには?Python:変数によるアクセスクラス属性

(ルビーで、それは形式のCLSにすることができ#{変数}。)

>>>cls.classname 
u'CIM_RegisteredProfile' 

>>>var='classname' 

>>>cls.var 
Traceback (most recent call last): 
    File "<console>", line 0, in <module> 
AttributeError: 'CIMClass' object has no attribute 'var' 
+0

あなたが検索した場合は、これが求められていることがわかります。 –

+1

[Python:変数を使用して属性にアクセスする]の複製が可能です(http://stackoverflow.com/questions/2157035/python-accessing-an-attribute-using-a-variable) –

答えて

6

使用getattr

var = 'classname' 
getattr(cls, var) 
+0

良い、1つの選択肢は評価アプローチです。 – brike

+0

b = "a" + var b 'a.classname' eval(b) u'CIM_RegisteredProfile ' – brike

+2

@brike、できるだけ 'eval'を避けてください。 [このSOの質問](http://stackoverflow.com/questions/86513/why-is-using-javascript-eval-function-a-bad-idea)またはgoogle "eval is evil"の回答をお読みください。 –

関連する問題