2012-07-10 85 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