Python中pprint模块的width参数是什么?为何width=29时列表换行?
pprint中width参数的含义说明
pprint(美化打印模块)的width参数作用是限制打印输出时每一行的最大字符长度,当待打印对象的单行输出总长度(包含括号、逗号、空格、元素内容等所有可见字符)超过这个阈值时,pprint会自动对集合类结构做换行拆分,保证输出可读性。
你遇到的现象原因
你示例中列表的单行输出内容[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],统计所有字符的总长度正好是30:
- 设置
width=30时,单行长度刚好符合阈值要求,所以保持单行输出 - 设置
width=29时,单行长度超过了阈值,pprint就会自动将列表的每个元素拆分为单独一行输出
示例代码
import pprint list = [0,1,2,3,4,5,6,7,8,9] pprint.pprint(list, width=30) pprint.pprint(list, width=29)
运行结果
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
补充注意点
pprint计算长度时会包含所有输出可见的符号,比如字典的大括号、键值对之间的冒号、缩进空格等都会被计入总长度。
内容的提问来源于stack exchange,提问作者May
相关产品推荐
相关产品推荐

