python打印class的所有属性和值;python print class attributes

  1. class UserConfig:
  2. def __init__(self, is_multi_process):
  3. self.is_multi_process = is_multi_process
  4. self.test1 = 2
  5. def __str__(self):
  6. items = self.__dict__.items()
  7. # 获取key的最大长度
  8. key_length_list = [len(item[0]) for item in items]
  9. max_key_length = max(key_length_list)
  10. # 构造返回值
  11. res = 'Class UserConfig: \n'
  12. res += '\n'.join([f'\t| {item[0]:>{max_key_length}} : {item[1]}' for item in items])
  13. return res
  14. config = UserConfig(True)
  15. print(config)
  16. """output
  17. Class UserConfig:
  18. | is_multi_process : False
  19. | test1 : 2
  20. """

参考链接