print是一个内置函数,提供关键字参数来支持特殊的使用模式。
print的调用通常独占一行,但不会返回任何值(技术上返回None).
调用形式
print([object,...][, sep=' '][, end='\n'][, file=sys.stdout][, flush=False])
方括号中的各项是可选的,并且可以在一个给定的调用中省略,而‘=’后面都给出了参数的默认值。通常来说,print内置函数打印一个或多个对象的文本表示,在中间用字符串sep来分割,在结尾加上字符串end,通过file来指定输出流,并按照flush来决定是否刷新输出缓冲区。
- sep是在每个对象的文本之间插入的一个字符串,如果没有传入的话,默认是一个单个的空格;传入一个空字符串会关闭分隔符。
- end是添加在打印文本末尾的一个字符串,如果没有传入的话,默认是一个\n换行符。传入一个空字符串将避免在打印文本末尾移到下一输入行,也就是说下一个print将继续在当前输入行尾部打印。
- file指定了文本将要发送到文件、标准流,或其他类似文件的对象,如果没有传入的话,默认是sys.stdout。可以传入任何带有一个类似文件的write(string)方法的对象,而真正的文件应该已经为输出打开。
- flush默认值为Flase。它允许print强制文本通过输出流立即刷新给等待中的接受者。
print 函数的应用实例
x = 'spam'
y = 100
z = ['apple']
print(x, y, z)
#spam 100 ['apple']
默认情况下,print调用会在打印的对象之间添加一个空格。要关闭空格,你可以给sep关键字参数传入一个空字符串,或者传入一个你想要的分隔符:
print(x, y, z, sep='')
# spam100['apple']
print(x, y, z, sep=', ')
# spam, 100, ['apple']
默认情况下,print会在输出行尾添加一个换行符。你可以通过向 end 关键字参数传入一个空字符串来关闭它并避免换行,或者传入一个含有\n符号的自定义行末字符串来手动换行:
print(x, y, z, end=''); print(x, y, z)
#spam 100 ['apple']spam 100 ['apple']
print(x, y, z, end='...\n')
#spam 100 ['apple']...
>>>
使用file关键字——它对于单次打印,将待打印文本定向到一个输出文件或者其他的可兼容对象:
print(x, y, z, sep='...', file=open('data.txt', 'w'))
print(x, y, z)
#spam 100 ['apple']
print(open('data.txt').read())
#spam...100...['apple']