2015-07-12 63 views
3

是否可以獲取某個類或對象的所有屬性?我有一個有許多屬性的類,我想創建一個函數/方法,它返回對象的所有屬性等於無。在Python中獲取類的所有屬性

由於有很多這些屬性,我必須避免將它們寫入函數。

事情是這樣的:

def get_all_empty_attributes(self): 
    for attr in self.attributes.names: 
     if self.attr==None: 
      yield attr 

是否可以使用內建的功能呢?

+0

可以,如下面的答案,但也許你應該考慮使用一個名爲元組或只是如果你有很多鍵 - 值對要遍歷和查詢的字典動態地而不是顯式的屬性。 – pvg

回答

1

使用vars

for property, value in vars(your_class).iteritems(): 
    print(property, ":", value)