鱼C论坛

 找回密码
 立即注册
查看: 2986|回复: 2

[技术交流] Python 小技巧 063:美观地打印数据

[复制链接]
发表于 2020-2-11 20:11:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 qiuyouzhi 于 2020-3-26 16:29 编辑

Python 美观打印数据


Python 提供了一个内置模块 pprint,它是专门用于美观地打印数据的。

内置函数 print 和 pprint 的区别就是 pprint 打印出来的数据结构非常完整美观,如果打印的是序列,每行为序列的一个元素,更加方便阅读打印结果。

而 print() 函数的输出结果都在一行,不方便查看。

pprint 的使用方法

我们用 pprint.pprint() 函数打印数据。

  1. >>> from pprint import pprint
  2. >>> data = [1, 2, 3, ['小甲鱼', ['不二如是']], 'zltzlt']
  3. >>> pprint(data)
  4. [1, 2, 3, ['小甲鱼', ['不二如是']], 'zltzlt']
  5. >>> print(data)
  6. [1, 2, 3, ['小甲鱼', ['不二如是']], 'zltzlt']
复制代码


好像和 print() 打印的没有任何区别,但是 pprint() 设置参数就不一样了:

  1. >>> pprint(data, width=30)    # 设置每行最大宽度为 30
  2. [1,
  3. 2,
  4. 3,
  5. ['小甲鱼', ['不二如是']],
  6. 'zltzlt']
复制代码


还可以为打印列表设置缩进:

  1. >>> pprint(data, width=10, indent=4)    # 设置缩进为 4
  2. [   1,
  3.     2,
  4.     3,
  5.     [   '小甲鱼',
  6.         [   '不二如是']],
  7.     'zltzlt']
复制代码


使用缩进,更加易于辨别序列数据的结构。

pprint 还有个 depth 参数,这个参数用于指定打印的深度。这主要针对一些比较 “深” 的列表。

什么叫 “深度” 呢?例如有一个列表 a = [1, 2, [3, 4], 5],a 的深度就是 2;b = [1, 2, [3, 4, [5]]],b 的深度就是 3。

例如:

  1. >>> pprint(data, depth=2)    # 指定用 “...” 代替深度超过 2 的元素
  2. [1, 2, 3, ['小甲鱼', [...]], 'zltzlt']
复制代码

评分

参与人数 2荣誉 +4 鱼币 +4 贡献 +4 收起 理由
yexing + 1 + 1 + 1 鱼C有你更精彩^_^
Yvonne! + 3 + 3 + 3 学习了,顶一个^_^

查看全部评分

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-12 15:05:53 | 显示全部楼层
学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-4 10:27:58 | 显示全部楼层
学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-26 10:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表