python打印class的所有属性和值;python print class attributes
class UserConfig:
def __init__(self, is_multi_process):
self.is_multi_process = is_multi_process
self.test1 = 2
def __str__(self):
items = self.__dict__.items()
# 获取key的最大长度
key_length_list = [len(item[0]) for item in items]
max_key_length = max(key_length_list)
# 构造返回值
res = 'Class UserConfig: \n'
res += '\n'.join([f'\t| {item[0]:>{max_key_length}} : {item[1]}' for item in items])
return res
config = UserConfig(True)
print(config)
"""output
Class UserConfig:
| is_multi_process : False
| test1 : 2
"""