2014-02-10 32 views
0

Python是否具有PHP的$this->{$var}的等效物?

類似self.{var name}

+1

你的意思是你直到運行時才知道該屬性的名稱,或者其他的東西? – geoffspear

+3

這裏沒有問題。 – aldo

+0

getattr和setattr是我所需要的,因爲直到運行時,我才知道屬性的名稱,如第一條評論。 –

回答

3

要查找直到運行時才知道的屬性,使用getattr

getattr(self, "varname") 

從文檔:

返回對象的指定屬性的值。名稱必須是字符串。如果字符串是對象屬性之一的名稱,則結果是該屬性的值。例如,getattr(x,'foobar')等同於x.foobar。如果指定的屬性不存在,則返回默認值(如果提供),否則引發AttributeError。

將屬性添加到一個對象,對方是setattr

setattr(self, "varname", value) 
2

您可以使用getattr

getattr(self, var_name) 

其中var_name是包含你的字段名稱的字符串變量。