Python中怎么对齐打印对象属性
发表于:2025-12-05 作者:千家信息网编辑
千家信息网最后更新 2025年12月05日,Python中怎么对齐打印对象属性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。对齐打印对象属性print 输出对象 d
千家信息网最后更新 2025年12月05日Python中怎么对齐打印对象属性
Python中怎么对齐打印对象属性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
对齐打印对象属性
print 输出对象 dict 全挤在一行,很难看。因此希望输出类似 json 对齐的方式。
基本的思想是转成 json 格式再输出。随便一搜,找到如下代码,普通情况下可用:
def obj_to_json(): stu = Student(28, 'male', '13000000000', '123@qq.com') print(type(stu)) #print(stu) stu = stu.__dict__ # 将对象转成dict字典 print(type(stu)) # print(stu) j = json.dumps(obj=stu, indent=4) print(j)
但有些对象中会包含一些特殊属性,如另外一个对象,则用此法会报错:
TypeError: Object of type xxx is not JSON serializable
其实就是 JSON 不支持这种对象。我们可以自定义处理特殊对象的方法,完整代码如下:
# encoding:utf-8# author: overimport jsonfrom datetime import datetime, dateclass Student(object): def __init__(self, age, sex, mobile, date): self.age = age self.sex = sex self.mobile = mobile self.date = date# 扩展 json 无法解析的类型class ComplexEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, datetime): # return obj.strftime('%Y-%m-%d %H:%M:%S') return str(obj) elif isinstance(obj, date): # return obj.strftime('%Y-%m-%d') return str(obj) else: try: return json.JSONEncoder.default(self, obj) except Exception as e: print('type not support: '+str(obj)) # 默认的处理不了直接强转字符串 return str(obj)# json 对齐方式输出对象所有属性,方便查看def printJson(obj): if hasattr(obj,'__dict__'): obj = obj.__dict__ # ensure_ascii=False 中文不变成百分符 # indent 缩进行增加的空格数 j = json.dumps(obj, cls=ComplexEncoder, ensure_ascii=False, indent=4) print(j)if __name__ == '__main__': stu = Student(28, 'male', '13000000000', datetime.now()) printJson(stu)输出:
{
"age": 28,
"sex": "male",
"mobile": "13000000000",
"date": "2019-07-07 14:43:51.466416"
}
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
对象
输出
属性
特殊
代码
方式
处理
帮助
支持
普通
清楚
难看
一搜
一行
内容
字典
字符
字符串
对此
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
关于国家网络安全日的手抄报
电脑dota霸业连接不到服务器
服务器不一样可以共享英雄么
千牛是什么软件开发的
文档数据库产品有哪些
服务器防黑
长沙有哪些打车软件开发
网络安全组织领导规章制度
江西网络安全答题
教育编程软件开发
央厨配送软件开发公司
深圳星思网络技术有限公司
数据库写多读少怎么办
ibm服务器专业维修
向军数据库作品欣赏
网络安全与系统运维科职责
福建电话软件开发销售电话
sql数据库置疑修复工具
vs2017软件开发教程
黑龙江互联网养老软件开发哪儿好
服务器管理系统商家
jsp会占用服务器资源吗
软件开发投标如何突出
网络安全事件应急预案流程图
绿园区网络技术服务质量保证
沈阳通迅网络技术工程学院
成都软件开发排行
河南新兴为网络技术
sql数据库置疑修复工具
焕夏网络技术有限公司