使用字符串变量作为变量名

可能的重复: 如何在Python中做变量?

你可以使用exec来做这个:

>>> foo = "bar"
>>> exec(foo + " = 'something else'")
>>> print bar
something else
>>> 
评论(4)

你会更高兴地使用字典来代替:

my_data = {}
foo = "hello"
my_data[foo] = "goodbye"
assert my_data["hello"] == "goodbye"
评论(4)

你可以使用`setattr

name  = 'varname'
value = 'something'

setattr(self, name, value) #equivalent to: self.varname= 'something'

print (self.varname)
#will print 'something'

但是,由于你应该通知一个对象来接收新的变量,我认为这只在类内部有效。

评论(1)