Python3内置模块pprint让打印比print更美观详解
概述
在我们使用内置打印函数print时,打印出的Python数据结构对象总是一行的输出的方式,这样对数据结构较复杂或数据较多的对象的显示并不美观,这时我们可以利用pprint输出美化数据结构对象。
pprint方法概览
美化输出
我们可以利用pprint中的PrettyPrinter控制输出的打印时的缩进,行宽、甚至打印深度等,定义类如下
class pprint.PrettyPrinter(indent = 1,width = 80,depth = None,stream = None,*,compact = False )
- indent 缩进
- width 宽度
- depth 打印深度
- stream 指输出流对象,stream = None输出流对象默认是sys.stdout
- compact 如果compact为false(默认值),则长序列中的每个项目将在单独的行上进行格式化。如果compact为true,则将在每个输出行上格式化适合宽度的项目。
import pprint L = [str(i)*20 for i in range(10)] pp = pprint.PrettyPrinter(indent=4) pp.pprint(L) print(L)
示例结果:
[ '00000000000000000000',
'11111111111111111111',
'22222222222222222222',
'33333333333333333333',
'44444444444444444444',
'55555555555555555555',
'66666666666666666666',
'77777777777777777777',
'88888888888888888888',
'99999999999999999999']
['00000000000000000000', '11111111111111111111', '22222222222222222222', '33333333333333333333', '44444444444444444444', '55555555555555555555', '66666666666666666666', '77777777777777777777', '88888888888888888888', '99999999999999999999']
对象字符串
我们也可以将目标对象的格式化表示形式返回为字符串。 indent, width,depth和compact将PrettyPrinter 作为格式化参数传递给构造函数,定义类如下
L = [str(i)*20 for i in range(10)] pp = pprint.pformat(L, indent=4) print(pp) print(L)
示例结果:
[ '00000000000000000000',
'11111111111111111111',
'22222222222222222222',
'33333333333333333333',
'44444444444444444444',
'55555555555555555555',
'66666666666666666666',
'77777777777777777777',
'88888888888888888888',
'99999999999999999999']
['00000000000000000000', '11111111111111111111', '22222222222222222222', '33333333333333333333', '44444444444444444444', '55555555555555555555', '66666666666666666666', '77777777777777777777', '88888888888888888888', '99999999999999999999']
格式化打印
输出格式的对象字符串到指定的输出流,最后以换行符结束,定义类如下
import pprint L = [str(i)*20 for i in range(10)] pprint.pprint(L, indent=4) print(L)
示例结果:
[ '00000000000000000000',
'11111111111111111111',
'22222222222222222222',
'33333333333333333333',
'44444444444444444444',
'55555555555555555555',
'66666666666666666666',
'77777777777777777777',
'88888888888888888888',
'99999999999999999999']
['00000000000000000000', '11111111111111111111', '22222222222222222222', '33333333333333333333', '44444444444444444444', '55555555555555555555', '66666666666666666666', '77777777777777777777', '88888888888888888888', '99999999999999999999']
可读性
判断对象object的字符串对象是否可读,True可读,反之则反。
import pprint L = [str(i)*20 for i in range(10)] B = pprint.isreadable(L) print(B)
示例结果:
True
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:
- [Python模块学习]使用pprint模块格式化打印
- Python3.5——内置模块详解之time与datetime模块
- Python3.5——内置模块详解之random模块
- 对python:print打印时加u的含义详解
- Python中内置的日志模块logging用法详解
- python 内置模块详解
- Python中内置的日志模块logging用法详解
- Python3.5——内置模块详解之shelve模块、xml模块、configparser模块、hashlib、hmac模块
- Python内置模块turtle绘图详解
- Python 标准库 -> Pprint 模块 -> 用于打印 Python 数据结构
- [Python标准库]pprint——美观打印数据结构
- Python常用内置模块之xml模块(详解)
- Python中使用logging模块打印log日志详解
- Python logging 模块详解 -让你全部了解logging 模块的强大功能
- 详解Python中的变量及其命名和打印
- python sys模块详解
- 利用标准库fractions模块让Python支持分数类型的方法详解
- python中argparse模块用法实例详解
- python os.path模块常用方法详解
- python-不换行输出+print()完整参数详解