鱼C论坛

 找回密码
 立即注册
查看: 2306|回复: 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() 函数打印数据。
>>> from pprint import pprint
>>> data = [1, 2, 3, ['小甲鱼', ['不二如是']], 'zltzlt']
>>> pprint(data)
[1, 2, 3, ['小甲鱼', ['不二如是']], 'zltzlt']
>>> print(data)
[1, 2, 3, ['小甲鱼', ['不二如是']], 'zltzlt']

好像和 print() 打印的没有任何区别,但是 pprint() 设置参数就不一样了:
>>> pprint(data, width=30)    # 设置每行最大宽度为 30
[1,
 2,
 3,
 ['小甲鱼', ['不二如是']],
 'zltzlt']

还可以为打印列表设置缩进:
>>> pprint(data, width=10, indent=4)    # 设置缩进为 4
[   1,
    2,
    3,
    [   '小甲鱼',
        [   '不二如是']],
    'zltzlt']

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

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

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

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

评分

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

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-12 15:05:53 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-4 10:27:58 | 显示全部楼层
学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 21:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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