# 优化Python的输出

# pprint模块

pprint模块可以将任意的 Python 数据结构“漂亮地打印”成一种可以作为解释器输入的形式。如果格式化的结构包括非基本 Python 类型的对象,如包括文件、套接字或类等对象,以及许多其他无法表示为 Python 字面量的对象,则表示的结果可能无法打印。

pprint 可以用来打印几乎所有类型的 Python 数据,包括列表、字典、元组、集合等。它可以很好地处理嵌套的数据结构,使输出更加清晰易读。

# 示例

from pprint import pprint

data = {
    'name': 'John',
    'age': 30,
    'address': {
        'street': '123 Main St',
        'city': 'Springfield',
        'state': 'IL',
        'zip': '12345'
    },
    'phone_numbers': [
        {'type': 'home', 'number': '555-555-1234'},
        {'type': 'work', 'number': '555-555-5678'}
    ]
}

print('Using print:')
print(data)

print('\nUsing pprint:')
pprint(data)

上面代码打印结果的对比:

Using print:
{'name': 'John', 'age': 30, 'address': {'street': '123 Main St', 'city': 'Springfield', 'state': 'IL', 'zip': '12345'}, 'phone_numbers': [{'type': 'home', 'number': '555-555-1234'}, {'type': 'work', 'number': '555-555-5678'}]}

Using pprint:
{'address': {'city': 'Springfield',
             'state': 'IL',
             'street': '123 Main St',
             'zip': '12345'},
 'age': 30,
 'name': 'John',
 'phone_numbers': [{'number': '555-555-1234', 'type': 'home'},
                   {'number': '555-555-5678', 'type': 'work'}]}

可以看到,pprint打印出的结果更美观清晰,更多使用介绍可以参考官方文档。

# 参考文献

-https://docs.python.org/3/library/pprint.html (opens new window)