1. pprint
pprint模块
能以解释器可以解析的输入形式漂亮地打印python数据结构的形式
1.1 pprint.PrettyPrinter
语法
class pprint.PrettyPrinter(indent=1, width=80, depth=None, stream=None, *, compact=False)
参数
- indent:表示缩进几个字符
- width:表示一行最多输出多少字符
- depth: 表示输出的深度
- stream:
- compact:compact=True表示在width范围允许内输出尽可能多,默认为False
返回值
- 无。
实例
import pprint
stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
stuff.insert(0, stuff[:])
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(stuff)
'''
[ ['spam', 'eggs', 'lumberjack', 'knights', 'ni'],
'spam',
'eggs',
'lumberjack',
'knights',
'ni']
'''
width
表示一行最多输出多少字符,compact=True
表示在width范围允许内输出尽可能多,默认为False
pp = pprint.PrettyPrinter(width=41, compact=True)
pp.pprint(stuff)
'''
[['spam', 'eggs', 'lumberjack',
'knights', 'ni'],
'spam', 'eggs', 'lumberjack', 'knights',
'ni']
'''
depth表示输出的深度
tup = ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead',
('parrot', ('fresh fruit',))))))))
pp = pprint.PrettyPrinter(depth=6)
pp.pprint(tup)
'''
('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead', (...)))))))
'''
pprint.pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False)
stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
stuff.insert(0, stuff)
pprint.pprint(stuff)
'''
[<Recursion on list with id=1866271590280>,
'spam',
'eggs',
'lumberjack',
'knights',
'ni']
'''
1.2 pprint.pforma
pprint.pformat(object, indent=1, width=80, depth=None, *, compact=False)
与pp.pprint用法相同,只不过pprint是格式化后打印出来,而pformat是return格式化后的str
pp = pprint.PrettyPrinter(width=41, compact=True)
p = pp.pformat(stuff)
print(p)
'''
[['spam', 'eggs', 'lumberjack',
'knights', 'ni'],
'spam', 'eggs', 'lumberjack', 'knights',
'ni']
'''
2. print
描述
print() 方法用于打印输出,最常见的一个函数。
在 Python3.3 版增加了 flush 关键字参数。
print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一个关键字。
语法
以下是 print() 方法的语法:
- print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
参数
- objects – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
- sep – 用来间隔多个对象,默认值是一个空格。
- end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
- file – 要写入的文件对象。
- flush – 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。
返回值
- 无。
实例
以下展示了使用 print 函数的实例:
Python3 下测试
>>>print(1)
1
>>> print("Hello World")
Hello World
>>> a = 1
>>> b = 'runoob'
>>> print(a,b)
1 runoob
>>> print("aaa""bbb")
aaabbb
>>> print("aaa","bbb")
aaa bbb
>>>
>>> print("www","runoob","com",sep=".") # 设置间隔符
www.runoob.com
使用 flush 参数生成一个 Loading 的效果:
import time
print("---RUNOOB EXAMPLE : Loading 效果---")
print("Loading",end = "")
for i in range(20):
print(".",end = '',flush = True)
time.sleep(0.5)
每个0.5秒刷新一次,多打印一个点
效果如下图:
[参考博客]
pprint的用法
Python print() 函数