📜  pprint : Python中的数据漂亮打印机(1)

📅  最后修改于: 2023-12-03 14:45:38.679000             🧑  作者: Mango

Python中的数据漂亮打印机——pprint

在Python中,有时候需要打印某些数据结构,比如列表、字典、元组等等。然而,Python自带的print函数并不能将这些数据结构打印得很美观。为了解决这个问题,Python提供了另外一个非常有用的模块——pprint

pprint模块是Python标准库中的一个模块,在Python 2和Python 3中都可以使用。它可以帮助我们将数据结构以更友好的方式打印出来。

安装pprint模块

pprint模块是Python标准库中的一个模块,不需要额外安装。只需要在Python文件中导入pprint模块即可使用。

import pprint
pp函数

pp函数是pprint模块中最常用的函数,可以将数据结构以更友好的方式打印出来。

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

在使用pp函数时,我们只需要将需要打印的数据结构传入到第一个参数即可。例如:

my_dict = {'name': 'Tom', 'age': 18, 'skills': ['Python', 'Java', 'C++']}
pprint.pp(my_dict)

输出结果:

{'age': 18,
 'name': 'Tom',
 'skills': ['Python',
            'Java',
            'C++']}

可以看到,使用pp函数打印出来的数据结构更加美观。

pp函数中,还有一些可选参数,可以调整打印的格式。具体参数含义如下:

  • stream:指定数据结构要输出到哪个IO流中,默认是sys.stdout
  • indent:表示每层缩进空格数,默认为1。
  • width:表示每行打印的最大字符数,默认为80。
  • depth:表示打印的最大层数,默认为None,表示所有层次都打印。
  • compact:表示是否使用紧凑格式,默认为False,即使用美观格式。
pformat函数

pp函数相对应的是pformat函数,它的功能与pp函数相同,只不过它返回的是一个字符串,而不是直接打印出来。这个函数可以将打印出来的数据结构保存到一个文件中,或者以其他方式输出。

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

使用pformat函数的示例如下:

my_dict = {'name': 'Tom', 'age': 18, 'skills': ['Python', 'Java', 'C++']}
result = pprint.pformat(my_dict)
print(result)

输出结果:

{'age': 18,
 'name': 'Tom',
 'skills': ['Python',
            'Java',
            'C++']}
总结

pprint模块是一个非常有用的模块,可以让我们以更美观的方式打印存储在Python数据结构中的数据。无论是在开发还是调试中,都可以提高我们的工作效率。