当你在 Python 中需要打印输出信息时,你可能会使用内置的 print()
函数。它是一个非常简单和常用的函数,能够将给定的参数打印到标准输出(通常是终端窗口)。然而,当你需要打印复杂的数据结构,如嵌套的列表、字典或对象,print()
函数的输出可能会显得杂乱无章,不易阅读。
现在你有以下数据需要打印
data = {
'name': 'John Doe',
'age': 30,
'languages': ['Python', 'JavaScript', 'C++'],
'address': {
'street': '123 Main St',
'city': 'New York',
'country': 'USA'
}
}
print("使用 print() 输出:")
print(data)
结果:
使用 print() 输出:
{'name': 'John Doe', 'age': 30, 'languages': ['Python', 'JavaScript', 'C++'], 'address': {'street': '123 Main St', 'city': 'New York', 'country': 'USA'}}
可以看到我们的字典格式全部不见了,print()直接输出了一行数据,这样的输出显得杂乱无章,不易阅读。
这时,你可以使用 pprint
模块中的 pprint()
函数来更好地格式化输出。
pprint 是什么?
pprint
模块提供了一个名为 pprint()
的函数,它以更友好的方式打印数据结构。它会自动进行缩进、换行和对齐,使输出更清晰易读。
以上节数据为例,现在我们使用 pprint()
输出。
import pprint
data = {
'name': 'John Doe',
'age': 30,
'languages': ['Python', 'JavaScript', 'C++'],
'address': {
'street': '123 Main St',
'city': 'New York',
'country': 'USA'
}
}
print("使用 print() 输出:")
print(data)
print("\n使用 pprint() 输出:")
pprint.pprint(data)
输出结果:
使用 print() 输出:
{'name': 'John Doe', 'age': 30, 'languages': ['Python', 'JavaScript', 'C++'], 'address': {'street': '123 Main St', 'city': 'New York', 'country': 'USA'}}
使用 pprint() 输出:
{'address': {'city': 'New York',
'country': 'USA',
'street': '123 Main St'},
'age': 30,
'languages': ['Python', 'JavaScript', 'C++'],
'name': 'John Doe'}
通过对比上面的输出,我们可以清楚地看到使用 pprint()
函数打印的输出更加整齐、易读。它将嵌套结构的元素逐层缩进,并对齐键值对,以便更好地展示数据的结构。
因此,当你需要打印复杂的数据结构时,特别是嵌套的字典和列表,使用 pprint()
可以提供更清晰和可读性更好的输出结果。
pprint进阶
pprint()
函数的特性:
-
自动缩进和换行:
pprint()
函数会自动根据数据结构的层次进行缩进和换行,使输出更加清晰和易读。 -
对齐键值对:
pprint()
函数会对字典中的键值对进行对齐,使其在垂直方向上对齐,提高可读性。 -
支持定制化输出格式:
pprint()
函数提供了一些参数,可以根据需要进行定制化的输出格式设置,例如设置缩进空格数、宽度限制等。
下面是一个使用 pprint()
函数的更详细代码示例,演示了其特性:
import pprint
data = {
'name': 'John Doe',
'age': 30,
'languages': ['Python', 'JavaScript', 'C++'],
'address': {
'street': '123 Main St',
'city': 'New York',
'country': 'USA'
}
}
print("使用 pprint() 输出:")
pprint.pprint(data, indent=4, width=30, compact=True)
输出结果:
使用 pprint() 输出:
{ 'address': { 'city': 'New York',
'country': 'USA',
'street': '123 Main St'},
'age': 30,
'languages': [ 'Python',
'JavaScript',
'C++'],
'name': 'John Doe'}
在上面的示例中,我们使用了 pprint.pprint()
函数来打印数据结构 data
。同时,我们传递了一些参数来定制化输出格式:
-
indent=4
:设置缩进空格数为 4,使每个层次的元素缩进 4 个空格。 -
width=30
:设置输出宽度为 30,当一行的字符数超过 30 时,自动换行。 -
compact=True
:启用紧凑模式,这样字典的键值对会在同一行上,节省空间。
通过这些定制化参数,我们可以更好地控制输出格式,以适应不同的需求。
结语:
print()
是一个简单常用的函数,适合打印简单的输出信息;而 pprint()
是 pprint
模块中的函数,用于打印复杂数据结构时提供更好的格式化输出。pprint()
函数具有自动缩进、换行和对齐键值对的特点,并且提供了一些定制化参数,可以根据需要调整输出格式。这使得打印复杂数据结构时更加方便、清晰和易读。
最后为大家打包了Python全套ke程、电子书+激活码等籽料【戳这里免废领】~