pprint打印,输出结果多一个None值
pprint是什么?
pprint是Data Pretty printer的缩写,顾名思义就是让显示结果更加美观。
相较于print而言,pprint打印的数据结构更加完整,更加便于阅读。尤其是在打印特别长的数据时,print会在一行打印,对人类来说几乎不可读,而pprint可以分行打印。
当使用pprint将数据按照指定宽度打印时,多出一个None值
这也是我的粗心造成的错误,具体看例子比较明白
这是错误的用法
import pprint
stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
pp = pprint.PrettyPrinter(indent=4, width=20)
print(pp.pprint(stuff))
显示结果
[ 'spam',
'eggs',
'lumberjack',
'knights',
'ni']
None
可以看到,后面很明显地多了一个None,原因就在于最后一行的print
正确用法是直接使用pp.pprint语句
import pprint
stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
pp = pprint.PrettyPrinter(indent=4, width=20)
pp.pprint(stuff)
这个时候结果也没错
[ 'spam',
'eggs',
'lumberjack',
'knights',
'ni']
真是在初学python时闹得一个笑话。pprint本就是为了解决print不便于多行打印结果的一个包,一山不容二虎,但上方错误竟没有直接报错而是输出None,其中缘由不得而知。