Python学习笔记:pprint - 数据美化打印器

754 字
4 分钟

pprint (pretty printer) 模块提供了一种将任意 Python 数据结构“美化打印”的能力,以便将其用作解释器的输入。

函数#

pprint#

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

pp#

pprint.pp(object, stream=None, indent=1, width=80, depth=None, *, compact=False, sort_dicts=False, underscore_numbers=False)
函数参数的相关说明
参数 类型 参数说明
object \\ 要打印的对象。
stream file-like object 一个文件型对象,可通过调用其 write() 方法将输出写入该对象。 如为 None (默认值),则使用 sys.stdout
indent int 要为每个嵌套层级添加的缩进量。
width int 输出中每行所允许的最大字符数。 如果一个结构无法在宽度限制内被格式化,则将尽可能的接近。
depth int 可被打印的嵌套层级数量。 如果要打印的数据结构具有过深的层级,则其包含的下一层级将用 ... 替换。 如为 None (默认值),则不会限制被格式化对象的层级深度。
compact bool 控制长 序列 的格式化方式。 如为 False (默认值),则序列的每一项将被格式化为单独的行,否则在格式化每个输出行时将根据 width 限制容纳尽可能多的条目。
sort_dicts bool 如为 True,则在格式化字典时将基于键进行排序,否则将按插入顺序显示它们(默认)。
underscore_numbers bool 如为 True,则在格式化整数时将使用 _ 字符作为千位分隔符,否则将不显示下划线(默认)。
TIP

pprint 函数是将 sort_dicts 设为 Truepp 函数的别名,它将自动按字典的键进行排序。

pformat#

object 的格式化表示形式作为字符串返回。

pprint.pformat(object, indent=1, width=80, depth=None, *, compact=False, sort_dicts=True, underscore_numbers=False)

其他常用函数#

函数说明
pprint.isreadable(object)确定 object 的格式化表示是否“可读”,或是否可被用来通过 eval() 重新构建对象的值。此函数对于递归对象总是返回 False
pprint.isrecursive(object)确定 object 是否需要递归的表示
pprint.saferepr(object)返回 object 的字符串表示,并为某些通用数据结构提供防递归保护,包括 dict,listtuple 或其未重载 __repr__ 的子类的实例

PrettyPrinter 对象#

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

参数的含义与 pprint() 的相同。注意它们的顺序有所不同。

PrettyPrinter 的实例具有下列方法:

PrettyPrinter.pformat(object) # 返回 object 格式化表示
PrettyPrinter.pprint(object) # 在所配置的流上打印 object 的格式化表示,并附加一个换行符
PrettyPrinter.isreadable(object) # 确定对象的格式化表示是否“可读”
PrettyPrinter.isrecursive(object) # 确定对象是否需要递归表示
PrettyPrinter.format(object, context, maxlevels, level)

参考资料#

  1. Python3.13 官方文档
  2. 一文弄懂Python中的pprint模块
Python学习笔记:pprint - 数据美化打印器
https://blog.rinne05.top/blog/technology/python-notes/pprint/
作者
发布于
9/16/2025
许可协议
CC BY-NC-SA 4.0

主题设置

主题模式
主题色
透明度
模糊
© 2025 霖,采用 CC BY-NC-SA 4.0 许可
ICP备案号: 豫ICP备2025156598号-1
输入以搜索...
通过 Fuse.js 搜索