为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

长风秋雁 2019-07-05 14:46:32
使用字符串变量作为变量名我有一个变量,给它分配了一个字符串,我想根据这个字符串定义一个新变量。foo = "bar"foo = "something else"   # What I actually want is:bar = "something else"
查看完整描述

3 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

你可以用exec为此:

>>> foo = "bar">>> exec(foo + " = 'something else'")>>> print bar
something else>>>


查看完整回答
反对 回复 2019-07-05
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

你会更乐意用字典来代替:

my_data = {}foo = "hello"my_data[foo] = "goodbye"assert my_data["hello"] == "goodbye"


查看完整回答
反对 回复 2019-07-05
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

你可以用setattr

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

但是,由于您应该通知对象来接收新变量,我认为这只在类中起作用。


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 1269 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信