2013-04-22 59 views
0

我已到處尋找這個,但還沒有找到合適的答案,我不想用字典。Python3:字符串到變量

如何將字符串轉換爲變量名?例如,我有這樣的電話:

object.variable 

variableobject定義。但是,我有很多變數(出於某種原因),還有更多。這似乎很愚蠢的做到這一點:

s = 'variable' 
if s == 'variable': object.variable 
elif s == 'variable2: object.variable2 
etc.... 

那麼有沒有辦法將字符串轉換爲變量名?

+1

你有沒有考慮使用'dict'? – WolframH 2013-04-22 06:34:51

+0

我暗示我不想用字典,所以是的,我已經考慮過了,但不認爲這是最好的解決方案。 – Tim 2013-04-22 06:37:18

+0

@Tim:就在旁邊;如果你發現遇到這個問題,你可能在代碼的設計上做錯了什麼。雖然這是可能的,但你的用例是一個獨特的用例,gettattr()對屬性的訪問是一個很好的解決方案。 – 2013-04-22 06:58:04

回答

1
getattr(object, variable) 

不過,我看不出有什麼充分的理由是這樣的訪問屬性...

+0

嗯,這只是我用於我的論文的一個程序,所以知道一個人會再次使用它。每個屬性都有關於對象的不同信息,我想在機器學習中使用它們進行比較。 – Tim 2013-04-22 06:31:57