python 將字串作為變數名

2021-10-16 16:50:42 字數 960 閱讀 5744

1、使用字串指代變數名。

比如說,有兩個變數 a="bbb"和bbb=,引用a如何得到,也就是a的值』bbb』所代表的變數bbb的值。

google了下,查到上的以下四種方式能夠將字串轉作變數,分別是:

>>

>

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如何得到,則應該是:>>> a=『bbb』

'''

'''>>

> bbb=

>>

>

exec

('a=%s'

% a)

>>

> a

即可實現。有沒其他方法了?

另外,若想把exec的字串』a=%s』 % a中的a動態改變,而不是指定a,那豈不要先獲得變數a的名字。就是第2個問題。

2、從變數名獲得其字串

比如說,變數a=『bbb』,一般引用a後結果是a的值』bbb』,那我該如何得到a的名字字串』a』? 有沒必要?

Python 字串轉成變數名

起因 在寫介面自動化時,通過yaml檔案,進行用例儲存,當data資料中有時間戳的字段時,需要實時取最新的值,就需要寫方法,動態獲取。邏輯 如果取出的key values,當values中有 符號時,就判斷是需要取變數的,通過這個values找到對應的變數,然後賦值使用。問題 可以拿到儲存的字段值,...

python檢測字串變數名是否合法

直接繼承字串類 檢測字元是否合法 class string str illegal legal def init self,string str.init self self.islegal none def isillegal self if not self.islegal none retur...

python 字串練習2 變數名是否合法

題目要求 變數名是否合法 1.變數名可以由字母,數字或者下劃線組成 2.變數名只能以字母或者下劃線開頭 s hello 1.判斷變數名的第乙個元素是否為字母或者下劃線 s 0 2.如果第乙個元素符合條件,判斷除了第乙個元素之外的其他元素s 1 思路 1.變數名的第乙個字元是否為字母或下劃線 2.如果...