我有一个分配给它一个字符串变量,我想定义基础上,一个新的变量串。
foo = "bar"
foo = "something else"
# What I actually want is:
bar = "something else"
我有一个分配给它一个字符串变量,我想定义基础上,一个新的变量串。
foo = "bar"
foo = "something else"
# What I actually want is:
bar = "something else"
您将使用字典而不是更幸福:
my_data = {}
foo = "hello"
my_data[foo] = "goodbye"
assert my_data["hello"] == "goodbye"
您可以使用SETATTR
name= 'varname'
value= 'something'
setattr(self, name, value) #equivalent to: self.varname= 'something'
print self.varname
#will print 'something'
但,因为你应该inf orm一个对象来接收新的变量,我认为这只能在类内工作。
正确,它只能在课堂上使用。 – sudo 2016-06-06 18:53:53
你可能不想要那样。你为什么要这样做? – JBernardo 2012-07-19 04:03:39
不,你不知道。你必须使用'exec'的原因是'locals()'不支持修改。 ''本地()'不支持修改,因为它会使实现更复杂和更慢,并且从不**是一个好主意 – 2012-07-19 04:04:38
类似的帖子: http://stackoverflow.com/questions/1373164/因为他回答了这个问题(尽管它可能是一个糟糕的主意),但是我怎么做 - 变量 - 变量在python – Kartik 2012-07-19 04:08:16