递归打印python类的各个成员变量
- 使用
方法实现str(self.__dict__)
`或
`repr(self.__dict__)
`可以将自定义的类实例所拥有的各个成员函数转换成dict对象输出,通过调用
`dict
`类的
`__str__
`或
`__repr__
- 对于dict对象,
函数获取相应字符串__str__
`和
`__repr__
`方法是采用递归调用value元素的
`__repr__
- 对于非内置类型的默认
方法输出为该实例所在类名和相应内存地址__repr__
`和
`__str__
- python中若重写了
,反之则不然__repr__
`方法,则默认
`__str__
`函数也等价于
`__repr___
- 因此若想使用该方法递归输出类内各个成员变量的值,需要重写类内各个成员所属类的
方法__repr__
来一发吐槽