Python3 print函数的四个关键字参数

print函数原型

1
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

默认情况下,分隔符为空格sep=' ',行结尾符为换行符end='\n',输出到标准输出file=sys.stdout,而且为带缓冲的flush=False

print函数自定义分隔符或行尾结束符

print函数通过设置sep关键字参数自定义分隔符,end关键字参数自定义行尾结束符,例如:

1
2
3
4
5
6
7
>>> print('www.revotu.com', 100, 66.6)
www.revotu.com 100 66.6
>>> print('www.revotu.com', 100, 66.6, sep=',')
www.revotu.com,100,66.6
>>> print('www.revotu.com', 100, 66.6, sep=',', end='!!\n')
www.revotu.com,100,66.6!!
>>>

多数时候,不想要每次打印时行尾的换行符,设置end=''即可,例如:

1
2
3
4
5
6
7
8
9
10
11
12
>>> for i in range(5):
... print(i)
...
0
1
2
3
4
>>> for i in range(5):
... print(i, end='')
...
01234>>>

如果不知道print函数的sep关键字参数,很可能会写出如下丑陋的代码:

1
2
3
print(a + ':' + b + ':' + c) # Ugly
print(':'.join([a, b, c])) # Still ugly
print(a, b, c, sep=':') # Better

print函数打印输出到文件

设置file关键字参数为带有write(string)方法的对象即可,例如:

1
2
with open('somefile.txt', 'wt') as f:
print('hello world!', file=f)

确保文件是以文本模式wt打开的,如果文件是二进制模式打开的话,打印就会失败。

print函数立即刷新输出

设置flush=True即可不带缓冲的打印输出文本。

1
print('some text', flush=True)

大师兄 wechat
欢迎关注我的微信公众号:Python大师兄