iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中的pprint打印模块
  • 537
分享到

Python中的pprint打印模块

2024-04-02 19:04:59 537人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 引言2. 使用背景3. pprint 大法好4. 设定输出宽度5. 设定输出缩进6. 总结1. 引言 ​​pprint​的英文全称​​Data pretty printer

1. 引言

​pprint​的英文全称​​Data pretty printer​​,顾名思义就是让显示结果更加直观漂亮。

​print()​和​​pprint()​都是python的打印模块,功能基本一样,唯一的区别就是​​pprint()​模块打印出来的数据结构更加完整,每行为一个数据结构,更加方便阅读打印输出结果。特别是对于特别长的数据打印,​​print()​​输出结果都在一行,不方便查看,而​​pprint()​采用分行打印输出,所以对于数据结构比较复杂、数据长度较长的数据,适合采用pprint()打印方式。

在介绍完上述理论知识后,我们不妨来举个栗子吧!

2. 使用背景

我们来看一个打印嵌套字典的例子,如下所示:

d = {
"apple": {"juice":4, "pie":5},
"orange": {"juice":6, "cake":7},
"pear": {"cake":8, "pie":9}
}

如果使用默认的​​print​​来进行打印,得到输出如下:

{'apple': {'juice': 4, 'pie': 5}, 'orange': {'juice': 6, 'cake': 7}, 'pear': {'cake': 8, 'pie': 9}}

上述输出都堆在一行,显得很混乱,缺少可读性。为了让输出显得有条理,我曾经写过一个for循环来打印如下内容:

for k,v in d.items():
print(k, "->", v)

此时的输出如下:

apple -> {'juice': 4, 'pie': 5}
orange -> {'juice': 6, 'cake': 7}
pear -> {'cake': 8, 'pie': 9}

上述代码很容易让人理解,但我必须浪费宝贵的时间来输入for循环。上述常见就是Python的​​pprint​​发挥作用的地方。

3. pprint 大法好

有了上述的简短介绍,我们这里直接使用​​pprint​​来打印上述字典,样例代码如下:

from pprint import pprint
pprint(d)

输出如下:

{'apple': {'juice': 4, 'pie': 5},
'orange': {'cake': 7, 'juice': 6},
'pear': {'cake': 8, 'pie': 9}}

需要注意的是,​​pprint​​以人类可读的格式很好地格式化了嵌套字典,而不需要像前面的示例中那样来编写for循环实现同样的功能。

4. 设定输出宽度

在了解了​​pprint​​的入门示例后,我们来看看该函数的其他高级用法。这里我们不妨以一个三层嵌套字典为例来进行讲解,示例如下:

d = {
"apple": {
"juice": {1:2, 3:4, 5:6},
"pie": {1:3, 2:4, 5:7},
},
"orange": {
"juice": {1:5, 2:3, 5:6},
"cake": {5:4, 3:2, 6:5},
},

"pear": {
"cake": {1:6, 6:1, 7:8},
"pie": {3:5, 5:3, 8:7},
}
}

其实,在​​pprint​​函数中有一个参数​​width​​可以控制每行输出的宽度,直接使用​​pprint​​输出如下:

pprint(d)
# output
{'apple': {'juice': {1: 2, 3: 4, 5: 6}, 'pie': {1: 3, 2: 4, 5: 7}},
'orange': {'cake': {3: 2, 5: 4, 6: 5}, 'juice': {1: 5, 2: 3, 5:6}},
'pear': {'cake': {1: 6, 6: 1, 7: 8}, 'pie': {3: 5, 5: 3, 8: 7}}}

将宽度设置为50,此时输出如下:

pprint(d, width=50)
# output:
{'apple': {'juice': {1: 2, 3: 4, 5: 6},
'pie': {1: 3, 2: 4, 5: 7}},
'orange': {'cake': {3: 2, 5: 4, 6: 5},
'juice': {1: 5, 2: 3, 5: 6}},
'pear': {'cake': {1: 6, 6: 1, 7: 8},
'pie': {3: 5, 5: 3, 8: 7}}}

将宽度设置为30,此时输出如下:

pprint(d, width=30)
# output
{'apple': {'juice': {1: 2,
3: 4,
5: 6},
'pie': {1: 3,
2: 4,
5: 7}},
'orange': {'cake': {3: 2,
5: 4,
6: 5},
'juice': {1: 5,
2: 3,
5: 6}},
'pear': {'cake': {1: 6,
6: 1,
7: 8},
'pie': {3: 5,
5: 3,
8: 7}}}

5. 设定输出缩进

我们以下面这个字典为例来讲解缩进参数​​indent ​​的作用:

d = {
"apple": {"juice":4, "pie":5},
"orange": {"juice":6, "cake":7},
"pear": {"cake":8, "pie":9}
}

默认不设置缩进的输出如下:

pprint(d)
# output
{'apple': {'juice': 4, 'pie': 5},
'orange': {'cake': 7, 'juice': 6},
'pear': {'cake': 8, 'pie': 9}}

将缩进设置为4时的输出如下:

pprint(d, indent=4)
# output
{ 'apple': {'juice': 4, 'pie': 5},
'orange': {'cake': 7, 'juice': 6},
'pear': {'cake': 8, 'pie': 9}}

将缩进设置为8时的输出如下:

pprint(d, indent=8)
# output
{ 'apple': {'juice': 4, 'pie': 5},
'orange': {'cake': 7, 'juice': 6},
'pear': {'cake': 8, 'pie': 9}}

6. 总结

文章重点介绍了Python中的​​pprint​​模块,使用该模块可以提升我们减少我们编写代码的行数同时增加我们复杂数据结构输出的可读性。

到此这篇关于Python中的pprint打印模块的文章就介绍到这了,更多相关 pprint模块内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python中的pprint打印模块

本文链接: https://www.lsjlt.com/news/125963.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中的pprint打印模块
    目录1. 引言2. 使用背景3. pprint 大法好4. 设定输出宽度5. 设定输出缩进6. 总结1. 引言 ​​pprint​的英文全称​​Data pretty printer...
    99+
    2024-04-02
  • Python中的pprint模块
    目录一. pprint美观打印数据结构1.打印2 .格式化3. 任意类4. 递归5. 限制嵌套输出6.控制输出宽度一. pprint美观打印数据结构 pprint模块包含一个“美观打...
    99+
    2024-04-02
  • Python中的pprint模块怎么使用
    本篇内容主要讲解“Python中的pprint模块怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中的pprint模块怎么使用”吧!一. pprint美观打印数据结构pprin...
    99+
    2023-06-21
  • python logging模块打印lo
    可能我们经常会使用print来输出信息到窗口,但当我们有很多个py文件需要运行,项目比 较庞大的到时候,print简直就是太low了点了。那么我们可以使用强大的logging模块,把 输出到指定的本地pc某个路径的文件中。 一、 lo...
    99+
    2023-01-31
    模块 python logging
  • Python中的logging模块实现日志打印
    目录方法1:配置并输出日志到标准输出方法2:配置输出到日志文件前言: 大家在写代码的时候,经常会使用print打印日志方便排查问题,然而print的问题就是太过简单,缺少时间、日志级...
    99+
    2024-04-02
  • python如何打印导入模块的文件路径
    这篇文章将为大家详细讲解有关python如何打印导入模块的文件路径,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。打印导入模块的文件路径如果您想知道代码中导入的模块的绝对位置,请使用以下技巧。import&...
    99+
    2023-06-27
  • python打印日志方法的使用教程(logging模块)
    目录一、必备技能1、logging模块的使用二、logging1、logging的基本使用1.1、日志的五个等级(DEBUG/INFO/WARNING/ERROR/CRITICAL)...
    99+
    2024-04-02
  • Python中的sys模块、random模块和math模块
    一、sys运行时环境模块 sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。 用法: sys.argv:命令行参数List,第...
    99+
    2024-04-02
  • Python中的time模块和calendar模块
    目录1、时间戳2、时间元组3、获取当前时间4、格式化时间5、格式化日期6、获取CPU时间7、日历模块在Python中对时间和日期的处理方式有很多,其中转换日期是最常见的一个功能。Py...
    99+
    2024-04-02
  • python中的模块
    模块:随着程序变的越来越大  为了便于维护 需要把它分为多个文件 为此python允许把定义放入一个文件 然后在其他脚本中将其作为模块导入 创建模块: 将相关的语句和定义放入与模块同名的文件中 #file:module.py def num...
    99+
    2023-01-31
    模块 python
  • python中的sys模块和os模块
    目录1.sys模块2.os模块(和操作系统相关数据)1.sys模块 sys模块的常见函数列表: sys.argv: 实现从程序外部向程序传递参数。sys.exit([arg]): 程...
    99+
    2024-04-02
  • python中的deque模块(collections的deque模块)
    目录 1. deque是python的collections中的一个类 2.deque的简单使用以及它的方法 2.1 创建deque的方法  2.2 创建deque时,并指定大小maxlen,即能装几个元素, 以及d...
    99+
    2023-09-25
    python 开发语言 collections deque 队列
  • python中打印日志
    一、日志介绍 1、日志级别:日志的优先级、重要性或者严重程度 2、日志的作用:调试程序,跟踪定位bug,分析用户行为与数据统计 3、常见的日志级别(从小级别到大级别排序):         debug:调试级别,打印非常详细的日志信息,通常...
    99+
    2023-09-25
    python
  • python logging模块按日期打
    官网https://docs.python.org/2/library/logging.html文档 一 简单日志打印: import logging logging.basicConfig(level=logging.DEBUG...
    99+
    2023-01-31
    模块 按日 python
  • Python中模块
    模块对我来说是什么        模块对我来说,感觉就像亲属或者朋友已经走过的路,他们已经趟过的浑水、掉过的坑、践行过的路线,全部提供给你,在你需要的时候请求帮助,借鉴他们的解决方法一样。都是为了方便走好人生路,用最短的路程走到成功的终...
    99+
    2023-01-31
    模块 Python
  • Python中的Subprocess模块
    原文出处:https://segmentfault.com/a/1190000009176351以前我一直用os.system()处理一些系统管理任务,因为我认为那是运行linux命令最简单的方式.我们能从Python官方文档里读到应该用s...
    99+
    2023-01-31
    模块 Python Subprocess
  • Python中的mmap模块
    mmap是一种虚拟内存映射文件的方法,即可以将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。 普通文件被映射到虚拟地址空间后,程序可以像操作内存一样操作文件,可以提高访问效率,...
    99+
    2023-01-31
    模块 Python mmap
  • Python中的 optparse模块
    python的内置模块中对于命令行的解析模块共两个getopt 和 optparse 。不过getopt过于简单,往往不能满足需求。此时可以使用optparse模块。这个模块相对于getopt更新,功能更强大。那么如何使用optparse模...
    99+
    2023-01-31
    模块 Python optparse
  • Python中的 getopt模块
    python 的 getopt 模块是一个简单实用的命令行参数解析模块。实现命令解析功能的为模块中的getopt 方法。下面主要介绍一下这个getopt方法的使用。查看getopt 模块的帮助可以得到 getopt方法的所有解释。    g...
    99+
    2023-01-31
    模块 Python getopt
  • Python 中的 docx 模块
    Python 中的 docx 模块 本文介绍了 Python 中的 docx 模块,该模块可以用来创建、修改和读取 Microsoft Word 文档(.docx 文件)。本文包括以下内容: 什么是 ...
    99+
    2023-09-13
    python word
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作