在其他变量中使用变量值

时间:2018-04-04 19:31:01

标签: python

我有一个变量,例如:

x = 'HELLO'

我想使用以下字符串

访问DIC
self.dname.x[0]

inherenlty应该是什么意思

self.dname.HELLO[0]

在python中执行此操作的正确方法是什么?这种变量的适当术语是什么?

2 个答案:

答案 0 :(得分:1)

我不确定理解这个问题,但您可能需要查看getattr内置函数(https://docs.python.org/3/library/functions.html#getattr)。

例如,在您的情况下(再次,如果我理解正确的话):

x = 'HELLO'
getattr(self.dname, x)[0]

答案 1 :(得分:0)

假设self.dname是字典:

self.dname[x][0]

x是一个“索引”变量 - 您正在使用它来查找所需的数据。这是另一种related question

示例:(在Python 2和3中测试)

>>> foo={'HELLO': [1,2,3]}
>>> foo
{'HELLO': [1, 2, 3]}
>>> foo.HELLO[0]                          <--- doesn't work
AttributeError: 'dict' object has no attribute 'HELLO'
>>> x='HELLO'
>>> foo[x][0]                             <--- works fine
1

你问过self.x。如果x是常规变量,则不会使用self.引用它(如上例所示)。如果x是您班级的成员,那么是的,您需要使用self.x。但是,如果您携带密钥和字典,则可以考虑重新设计数据结构以承载结果值。