使用__dict__列出实例属性

时间:2015-09-07 15:12:21

标签: python dictionary subclass

您好我尝试使用另一个类的实例创建一个新类,当我尝试使用__dict__将新对象转换为字典时,它会显示<__main__.myobjec object at 0x00000000029CA908> ,虽然我听说它与新课程有关,但我不确定我是否正确使用__dict__,我们非常感谢任何帮助。

class User:

    def __init__(self, name, job=None):

        self.name = name
        self.job = job


class Customer(User):

    _ID = 100

    def __init__(self, name, job=None):

        self.name = name
        self.job = job


class Account:

    _ID = 0

    def __init__(self, name, job=None):

        self.customer = Customer(name , "Customer")

    def __getattr__(self, attr):

            return getattr(self.customer, attr)
>>> A = Account("Abdi")
>>> A.__dict__
{'customer': <__main__.Customer object at 0x109fdbfc8>}
>>> 

1 个答案:

答案 0 :(得分:4)

您需要实现__repr__方法来表示Customer类的所有实例。

def __repr__(self): return repr(self.__dict__) # the dictionary of attributes in __repr__