当前位置: 首页 > news >正文

python pprint_Python3内置模块之pprint让打印比print更美观

4f18495c5dca45b9ab92a5ef603ce90c

概述

在我们使用内置打印函数print时,打印出的Python数据结构对象总是一行的输出的方式,这样对数据结构较复杂或数据较多的对象的显示并不美观,这时我们可以利用pprint输出美化数据结构对象。

pprint方法概览

美化输出

我们可以利用pprint中的PrettyPrinter控制输出的打印时的缩进,行宽、甚至打印深度等,定义类如下

class pprint.PrettyPrinter(indent = 1,width = 80,depth = None,stream = None,*,compact = False )

  • indent 缩进
  • width 宽度
  • depth 打印深度
  • stream 指输出流对象,stream = None输出流对象默认是sys.stdout
  • compact 如果compact为false(默认值),则长序列中的每个项目将在单独的行上进行格式化。如果compact为true,则将在每个输出行上格式化适合宽度的项目。
import pprintL = [str(i)*20 for i in range(10)]pp = pprint.PrettyPrinter(indent=4)pp.pprint(L)print(L)

示例结果:

[ '00000000000000000000', '11111111111111111111', '22222222222222222222', '33333333333333333333', '44444444444444444444', '55555555555555555555', '66666666666666666666', '77777777777777777777', '88888888888888888888', '99999999999999999999']['00000000000000000000', '11111111111111111111', '22222222222222222222', '33333333333333333333', '44444444444444444444', '55555555555555555555', '66666666666666666666', '77777777777777777777', '88888888888888888888', '99999999999999999999']

对象字符串

我们也可以将目标对象的格式化表示形式返回为字符串。 indentwidthdepthcompact将PrettyPrinter 作为格式化参数传递给构造函数,定义类如下

pprint.pformat(*object*,*indent = 1*,*width = 80*,*depth = None*,***,*compact = False *)[¶](https://docs.python.org/zh-cn/3.7/library/pprint.html#pprint.pformat "永久链接至目标")

L = [str(i)*20 for i in range(10)]pp = pprint.pformat(L, indent=4)print(pp)print(L)

示例结果:

[ '00000000000000000000', '11111111111111111111', '22222222222222222222', '33333333333333333333', '44444444444444444444', '55555555555555555555', '66666666666666666666', '77777777777777777777', '88888888888888888888', '99999999999999999999']['00000000000000000000', '11111111111111111111', '22222222222222222222', '33333333333333333333', '44444444444444444444', '55555555555555555555', '66666666666666666666', '77777777777777777777', '88888888888888888888', '99999999999999999999']

格式化打印

输出格式的对象字符串到指定的输出流,最后以换行符结束,定义类如下

pprint.pprint(object,stream = None,indent = 1,width = 80,depth = None,*,compact = False )

import pprintL = [str(i)*20 for i in range(10)]pprint.pprint(L, indent=4)print(L)

示例结果:

[ '00000000000000000000', '11111111111111111111', '22222222222222222222', '33333333333333333333', '44444444444444444444', '55555555555555555555', '66666666666666666666', '77777777777777777777', '88888888888888888888', '99999999999999999999']['00000000000000000000', '11111111111111111111', '22222222222222222222', '33333333333333333333', '44444444444444444444', '55555555555555555555', '66666666666666666666', '77777777777777777777', '88888888888888888888', '99999999999999999999']

可读性

判断对象object的字符串对象是否可读,True可读,反之则反。

import pprintL = [str(i)*20 for i in range(10)]B = pprint.isreadable(L)print(B)

示例结果:

True

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JBoss目录结构说明和功能介绍
  • jqgrid使用本地静态数据创建网格的例子_第68集 python机器学习:网格搜索管道中的属性...
  • 探讨C#2.0对象模型
  • XML文件转换成Word文件或者Excel文件
  • python excel数据处理_Excel的分列功能很强大?Python数据处理分析,pandas有更牛逼的...
  • datetime转int_Python实例PDF转JPG
  • 艰难的shader系统
  • visual studio 怎么生成coredump文件_如何在docker容器中生成core dump
  • 对信息系统集成项目管理的一点看法
  • 电子工程师之家_「德语学习」电气、电子、电力什么区别?
  • javascript操作radio的几种方法
  • arcengine遍历属性表_【Python@arcpy】python操作Excel与属性表批处理
  • ExtremeTable的导出问题
  • 运动估计算法的程序实现_光流法--Lucas Kanade算法
  • 网吧系统母盘制作(系统分区整体考虑优化配置篇)
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • GitUp, 你不可错过的秀外慧中的git工具
  • java 多线程基础, 我觉得还是有必要看看的
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Java编程基础24——递归练习
  • Java小白进阶笔记(3)-初级面向对象
  • MySQL几个简单SQL的优化
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Spring框架之我见(三)——IOC、AOP
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • 浮动相关
  • 前端之React实战:创建跨平台的项目架构
  • 微信小程序填坑清单
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • # 飞书APP集成平台-数字化落地
  • #Datawhale X 李宏毅苹果书 AI夏令营#3.13.2局部极小值与鞍点批量和动量
  • (31)对象的克隆
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • .DFS.
  • .form文件_SSM框架文件上传篇
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET 某和OA办公系统全局绕过漏洞分析
  • .net 提取注释生成API文档 帮助文档
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET8使用VS2022打包Docker镜像
  • :如何用SQL脚本保存存储过程返回的结果集
  • @Resource和@Autowired的区别
  • [100天算法】-二叉树剪枝(day 48)
  • [2024-06]-[大模型]-[Ollama]- WebUI
  • [AIGC] Java 和 Kotlin 的区别
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • [BUUCTF]-PWN:[极客大挑战 2019]Not Bad解析
  • [BZOJ4554][TJOI2016HEOI2016]游戏(匈牙利)
  • [EFI]ASUS Vivobook 16x M1603QA 电脑 Hackintosh 黑苹果efi引导文件
  • [FT]chatglm2微调
  • [github配置] 远程访问仓库以及问题解决