【问题标题】:Python3: string to variablePython3:字符串到变量
【发布时间】:2013-04-22 06:26:45
【问题描述】:

我到处寻找这个,但还没有找到合适的答案,我不想使用字典。

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

object.variable

这个variableobject 中定义。但是,我有很多变量(出于某种原因),还有更多变量。这样做似乎很愚蠢:

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


【解决方案1】:
getattr(object, variable)

但是我看不出有什么好的理由来访问这样的属性...

【讨论】:

  • 嗯,这只是我用于我的论文的一个程序,所以知道有人会再次使用它。每个属性都存储了关于对象的不同信息,我想在机器学习中使用它们进行比较。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-10
  • 2019-09-12
  • 2017-10-11
  • 2018-03-06
  • 1970-01-01
  • 2021-04-21
相关资源
最近更新 更多