Python中如何使用字符串当作变量名

 现想实现以下功能: > 1、使用字符串指代变量名。 > 比如说,有两个变量 a="bbb"和bbb={"c":1},引用a如何得到{"c":1},也就是a的值'bbb'所代表的变量bbb的值。 > google了下,查到 http://www.douban.com/group/topic/2193745/上的以下四种方式能够将字符串转作变量,分别是: > exec('abc = 5') > globals()['abc'] = 6 > setattr(__builtins__, 'abc', 9) > __import__('sys')._getframe(0).f_globals['abc'] = 27 > 四种都可以实现,那么,对于引用a如何得到{"c":1},则应该是:>>> a='bbb' > >>> bbb={"c":1} > >>> exec('a=%s' % a) > >>> a

> {"c": 1} > 即可实现。有没其他方法了? > 另外,若想把exec的字符串'a=%s' % a中的a动态改变,而不是指定a,那岂不要先获得变量a的名字。就是第2个问题。

> 2、从变量名获得其字符串 > 比如说,变量a='bbb',一般引用a后结果是a的值'bbb',那我该如何得到a的名字字符串'a'? 有没必要?

> 谢谢!

你可能感兴趣的:(技术空间)