Python中怎么对齐打印对象属性
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,Python中怎么对齐打印对象属性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。对齐打印对象属性print 输出对象 d
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
互联网科技公司
互联网金融科技
互联网科技图片
互联网巨头反垄断金融科技
北京互联网科技有限公司
互联网科技英文
互联网科技作文
未来的互联网科技
苏州互联网科技贷款公司
长亮科技互联网金融
国外互联网科技网站
镁科技互联网资讯平台
农村开互联网科技讲堂
现代科技和互联网有关系吗
湖南诚度互联网科技有限公司
广西互联网科技孵化中心
互联网新科技动漫ppt素材
山东子淼互联网科技有限公司
互联网营销推广黑科技
广东鹅鹅鹅互联网科技有限公司
广州为想互联网科技有限公司
广州万易互联网科技有限公司
互联网公司 科技公司
奇酷互联网科技公司
互联网科技上市公司
互联网科技公司有哪些
银川新华互联网科技学校地址
科技与互联网的利与弊
福州新华互联网科技学校 知乎
乌鲁木齐新华智原互联网科技学校