我有一個分配給它一個字符串變量,我想定義基礎上,一個新的變量串。
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