Python 将字符串更改为变量

Python 将字符串更改为变量,python,Python,我在这里使用的是Python2.6。 也许我的标题有误导性。所以我会在这里解释。我尽了最大努力寻找解决方案,但由于我是新手,我不知道该搜索什么 本质上,我从用户那里获得一个输入字符串值,我希望执行以下操作: 比方说 x=['reg1','reg2','reg3'] 我想写: for reg in x: display_value.reg 这样python在每次迭代中都会读取以下内容: display_value.regX 而不是: display_value.'regX' 您需要

我在这里使用的是Python2.6。 也许我的标题有误导性。所以我会在这里解释。我尽了最大努力寻找解决方案,但由于我是新手,我不知道该搜索什么

本质上,我从用户那里获得一个输入字符串值,我希望执行以下操作:

比方说

x=['reg1','reg2','reg3']
我想写:

for reg in x:
    display_value.reg
这样python在每次迭代中都会读取以下内容:

display_value.regX
而不是:

display_value.'regX'

您需要的是
getattr

x=['reg1','reg2','reg3']

for attr in x:                   
    getattr(display_value, attr) # same as display_value.attr, attr not a string.
如果您的对象没有属性,您可能会发现提供默认值很有用:

foo = getattr(obj, attr, 'default value') # typically better to use None.

您需要的是
getattr

x=['reg1','reg2','reg3']

for attr in x:                   
    getattr(display_value, attr) # same as display_value.attr, attr not a string.
如果您的对象没有属性,您可能会发现提供默认值很有用:

foo = getattr(obj, attr, 'default value') # typically better to use None.

您需要的是
getattr

x=['reg1','reg2','reg3']

for attr in x:                   
    getattr(display_value, attr) # same as display_value.attr, attr not a string.
如果您的对象没有属性,您可能会发现提供默认值很有用:

foo = getattr(obj, attr, 'default value') # typically better to use None.

您需要的是
getattr

x=['reg1','reg2','reg3']

for attr in x:                   
    getattr(display_value, attr) # same as display_value.attr, attr not a string.
如果您的对象没有属性,您可能会发现提供默认值很有用:

foo = getattr(obj, attr, 'default value') # typically better to use None.

尽管@Aaron Hall的解决方案有效,但我要说“您真正想要的是使用
dict
,而不是对象实例”

虽然可以在Python中对几乎所有内容进行内省,因此可以在Python中使用对象作为
dict
,但完整的对象会带来一些额外的负担和复杂性,这使得它们不适合映射的简单情况(例如
key1=>value1,key2=>value2

dict
是适用于以下情况的容器类型:

keys = ['reg1','reg2','reg3']
display_value = dict( map(None, keys, ()) )

for key in keys:
    # do something with the value of display_value[key]

尽管@Aaron Hall的解决方案有效,但我要说“您真正想要的是使用
dict
,而不是对象实例”

虽然可以在Python中对几乎所有内容进行内省,因此可以在Python中使用对象作为
dict
,但完整的对象会带来一些额外的负担和复杂性,这使得它们不适合映射的简单情况(例如
key1=>value1,key2=>value2

dict
是适用于以下情况的容器类型:

keys = ['reg1','reg2','reg3']
display_value = dict( map(None, keys, ()) )

for key in keys:
    # do something with the value of display_value[key]

尽管@Aaron Hall的解决方案有效,但我要说“您真正想要的是使用
dict
,而不是对象实例”

虽然可以在Python中对几乎所有内容进行内省,因此可以在Python中使用对象作为
dict
,但完整的对象会带来一些额外的负担和复杂性,这使得它们不适合映射的简单情况(例如
key1=>value1,key2=>value2

dict
是适用于以下情况的容器类型:

keys = ['reg1','reg2','reg3']
display_value = dict( map(None, keys, ()) )

for key in keys:
    # do something with the value of display_value[key]

尽管@Aaron Hall的解决方案有效,但我要说“您真正想要的是使用
dict
,而不是对象实例”

虽然可以在Python中对几乎所有内容进行内省,因此可以在Python中使用对象作为
dict
,但完整的对象会带来一些额外的负担和复杂性,这使得它们不适合映射的简单情况(例如
key1=>value1,key2=>value2

dict
是适用于以下情况的容器类型:

keys = ['reg1','reg2','reg3']
display_value = dict( map(None, keys, ()) )

for key in keys:
    # do something with the value of display_value[key]


等待将字符串更改为变量?那是什么组成的线?无论如何,您的问题涉及使用
getattr()
。您想要
getattr(display_value,reg)
您认为这比将
reg
存储为可以直接迭代的列表或字典有什么好处?几乎总是当你在一个变量名中使用多个整数后缀时,你走错了一步。这是我应该一直在寻找的东西。正如我所说,我不知道我应该搜索什么。非常感谢你这么做。很可能,你想让
显示\u值
成为一本字典,而不是像我说的那样,我不知道怎么问这个问题。道歉。getattr就是我要找的。等等。。。将字符串更改为变量?那是什么组成的线?无论如何,您的问题涉及使用
getattr()
。您想要
getattr(display_value,reg)
您认为这比将
reg
存储为可以直接迭代的列表或字典有什么好处?几乎总是当你在一个变量名中使用多个整数后缀时,你走错了一步。这是我应该一直在寻找的东西。正如我所说,我不知道我应该搜索什么。非常感谢你这么做。很可能,你想让
显示\u值
成为一本字典,而不是像我说的那样,我不知道怎么问这个问题。道歉。getattr就是我要找的。等等。。。将字符串更改为变量?那是什么组成的线?无论如何,您的问题涉及使用
getattr()
。您想要
getattr(display_value,reg)
您认为这比将
reg
存储为可以直接迭代的列表或字典有什么好处?几乎总是当你在一个变量名中使用多个整数后缀时,你走错了一步。这是我应该一直在寻找的东西。正如我所说,我不知道我应该搜索什么。非常感谢你这么做。很可能,你想让
显示\u值
成为一本字典,而不是像我说的那样,我不知道怎么问这个问题。道歉。getattr就是我要找的。等等。。。将字符串更改为变量?那是什么组成的线?无论如何,您的问题涉及使用
getattr()
。您想要
getattr(display_value,reg)
您认为这比将
reg
存储为可以直接迭代的列表或字典有什么好处?在变量名中使用多个整数后缀时,几乎总是使用错误的st