首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用字符串变量作为变量名

使用字符串变量作为变量名
EN

Stack Overflow用户
提问于 2012-07-19 11:58:16
回答 3查看 349.6K关注 0票数 154

可能重复:

How do I do variable variables in Python?

我有一个分配了字符串的变量,我想基于该字符串定义一个新变量。

代码语言:javascript
复制
foo = "bar"
foo = "something else"   

# What I actually want is:

bar = "something else"
EN

回答 3

Stack Overflow用户

发布于 2012-07-19 12:01:43

您可以使用exec来实现此目的:

代码语言:javascript
复制
>>> foo = "bar"
>>> exec(foo + " = 'something else'")
>>> print bar
something else
>>> 
票数 248
EN

Stack Overflow用户

发布于 2012-07-19 12:05:06

相反,使用字典会让你更快乐:

代码语言:javascript
复制
my_data = {}
foo = "hello"
my_data[foo] = "goodbye"
assert my_data["hello"] == "goodbye"
票数 154
EN

Stack Overflow用户

发布于 2012-07-19 12:10:17

您可以使用setattr

代码语言:javascript
复制
name  = 'varname'
value = 'something'

setattr(self, name, value) #equivalent to: self.varname= 'something'

print (self.varname)
#will print 'something'

但是,因为您应该通知对象接收新变量,所以这只在类或模块内部有效。

票数 111
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11553721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档