2012-07-10 84 views
0

我在python中有一個對象,如<Person at /project/persons/id>。現在我想查看人物的所有屬性,例如我有姓氏,姓氏和人物的頭銜。我想得到的是 {'FirstName':'Anna', 'LastName': 'Perry', 'Title' : 'Ms.'}檢查對象python的屬性

我試過object.__dict__,但它也給了我其他內置屬性。我只想獲得用戶指定的屬性。誰能幫我這個?

+1

您使用對象的屬性來存儲信息,而不是實際使用對象中包含的字典的任何原因? – 2012-07-10 11:05:04

+0

我會建議一個屬性,返回相關信息的字典。如果你想快速+髒,從對象的.__ dict__中減去對象.__ dict__。 – Simon 2012-07-10 11:11:38

回答

1

沒有直接的方法來獲取用戶定義的屬性。通常人們會使用dunder的名字作爲信號:

attrs = {} 
for k in dir(my_object): 
    if k.startswith("__") and k.endswith("__"): 
     continue 
    attrs[k] = my_object[k] 
+0

這並不能解決我的問題。我有其他的buit-in屬性不以__開頭和結尾。我想得到的只是用戶指定的屬性。 – 2012-07-12 07:19:05