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

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

我有一个变量,给它分配了一个字符串,我想根据这个字符串定义一个新变量。

foo = "bar"foo = "something else"   # What I actually want is:bar = "something else"


长风秋雁
浏览 1270回答 3
3回答

米琪卡哇伊

你可以用exec为此:>>> foo = "bar">>> exec(foo + " = 'something else'")>>> print bar something else>>>

叮当猫咪

你会更乐意用字典来代替:my_data = {}foo = "hello"my_data[foo] = "goodbye"assert my_data["hello"] == "goodbye"

蓝山帝景

你可以用setattrname  = 'varname'value = 'something'setattr(self, name, value) #equivalent to: self.varname= 'something'print (self.varname)#will print 'something'但是,由于您应该通知对象来接收新变量,我认为这只在类中起作用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python