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

> 謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM