可能的复制品: 如何在 Python 中执行变量变量?
我有一个分配了字符串的变量我想根据这个字符串定义一个新变量。
foo = "bar" foo = "something else" # What I actually want is: bar = "something else"
你可以使用 exec:
exec
>>> foo = "bar" >>> exec(foo + " = 'something else'") >>> print bar something else >>>
相反,使用字典会让你快乐得多:
my_data = {} foo = "hello" my_data[foo] = "goodbye" assert my_data["hello"] == "goodbye"
你可以使用 setattr
setattr
name = 'varname' value = 'something' setattr(self, name, value) #equivalent to: self.varname= 'something' print (self.varname) #will print 'something'
但是,由于您应该通知一个对象来接收新变量,所以这只能在类或模块中工作。