【发布时间】:2013-04-22 06:26:45
【问题描述】:
我到处寻找这个,但还没有找到合适的答案,我不想使用字典。
如何将字符串转换为变量名?例如我有这个电话:
object.variable
这个variable 在object 中定义。但是,我有很多变量(出于某种原因),还有更多变量。这样做似乎很愚蠢:
s = 'variable'
if s == 'variable': object.variable
elif s == 'variable2: object.variable2
etc....
那么有没有办法将字符串转换为变量名?
【问题讨论】:
-
你考虑过使用
dict吗? -
我含蓄地说我不想使用字典,所以是的,我考虑过,但认为这不是最好的解决方案。
-
@Tim:顺便说一句;如果你发现遇到这个问题,你可能在代码设计中做错了什么。虽然有可能,但您的用例极不可能是一个独特的用例,其中
gettattr()访问属性是一个很好的解决方案。 -
@JoelCornett,老实说,我是一个优秀的程序员,但肯定不是最好的,所以在设计中做错事的可能性绝对是一种选择。但是,我不知道该怎么做。
-
你能用
object[s]吗? (或者您是否已经将__getitem__用于其他用途?)
标签: python string variables python-3.x