Using a string variable as a variable name
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How do I do variable variables in Python?
号
我有一个变量分配了一个字符串,我想基于这个字符串定义一个新的变量。
1 2 3 4 5 6 | foo ="bar" foo ="something else" # What I actually want is: bar ="something else" |
您可以使用
1 2 3 4 5 | >>> foo ="bar" >>> exec(foo +" = 'something else'") >>> print bar something else >>> |
你会更乐意用字典来代替:
1 2 3 4 | my_data = {} foo ="hello" my_data[foo] ="goodbye" assert my_data["hello"] =="goodbye" |
号
您可以使用
1 2 3 4 5 6 7 | name = 'varname' value = 'something' setattr(self, name, value) #equivalent to: self.varname= 'something' print (self.varname) #will print 'something' |
但是,由于您应该通知对象接收新变量,我认为这只在类内部有效。