可能重复:
如何在Python中执行变量变量?
我有一个变量,并为其分配了一个字符串,我想根据该字符串定义一个新变量.
foo = "bar"
foo = "something else"
# What I actually want is:
bar = "something else"
Run Code Online (Sandbox Code Playgroud)
Jac*_*eow 175
你可以用exec它:
>>> foo = "bar"
>>> exec(foo + " = 'something else'")
>>> print bar
something else
>>>
Run Code Online (Sandbox Code Playgroud)
Ned*_*der 124
你会更乐意使用字典:
my_data = {}
foo = "hello"
my_data[foo] = "goodbye"
assert my_data["hello"] == "goodbye"
Run Code Online (Sandbox Code Playgroud)
Gus*_*gas 79
您可以使用 setattr
name = 'varname'
value = 'something'
setattr(self, name, value) #equivalent to: self.varname= 'something'
print (self.varname)
#will print 'something'
Run Code Online (Sandbox Code Playgroud)
但是,既然你应该通知一个对象接收新变量,我认为这只适用于类内部.
| 归档时间: |
|
| 查看次数: |
227586 次 |
| 最近记录: |