编程拾遗

递归打印python类的各个成员变量

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

来一发吐槽

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据