2013-04-22 106 views
0

我已到处寻找这个,但还没有找到合适的答案,我不想用字典。Python3:字符串到变量

如何将字符串转换为变量名?例如,我有这样的电话:

object.variable 

variableobject定义。但是,我有很多变数(出于某种原因),还有更多。这似乎很愚蠢的做到这一点:

s = 'variable' 
if s == 'variable': object.variable 
elif s == 'variable2: object.variable2 
etc.... 

那么有没有办法将字符串转换为变量名?

+1

你有没有考虑使用'dict'? – WolframH 2013-04-22 06:34:51

+0

我暗示我不想用字典,所以是的,我已经考虑过了,但不认为这是最好的解决方案。 – Tim 2013-04-22 06:37:18

+0

@Tim:就在旁边;如果你发现遇到这个问题,你可能在代码的设计上做错了什么。虽然这是可能的,但你的用例是一个独特的用例,gettattr()对属性的访问是一个很好的解决方案。 – 2013-04-22 06:58:04

回答

1
getattr(object, variable) 

不过,我看不出有什么充分的理由是这样的访问属性...

+0

嗯,这只是我用于我的论文的一个程序,所以知道一个人会再次使用它。每个属性都有关于对象的不同信息,我想在机器学习中使用它们进行比较。 – Tim 2013-04-22 06:31:57