python字符串定义变量名_python 将字符串作为变量名

> 1、使用字符串指代变量名。

> 比如说,有两个变量 a="bbb"和bbb={"c":1},引用a如何得到{"c":1},也就是a的值'bbb'所代表的变量bbb的值。

> google了下,查到http://www.douban.com/group/topic/2193745/上的以下四种方式能够将字符串转作变量,分别是:

>>> exec('bed=5')

>>> bed

5

>>> exec('bedict={}')

>>> bedict

{}

> globals()['abc'] = 6

>>> globals()['bed'+str(3)] = {}

>>> bed3

{}

> 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'? 有没必要?

> 谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值