Manual
Print objects to the text stream file, separated by sep and followed by end. sep, end and file, if present, must be given as keyword arguments.
All non-keyword arguments are converted to strings like str() does and written to the stream, separated by sep and followed by end. Both sep and end must be strings; they can also be None, which means to use the default values. If no objects are given, print() will just write end.
The file argument must be an object with a write(string) method; if it is not present or None, sys.stdout will be used. Since printed arguments are converted to text strings, print() cannot be used with binary mode file objects. For these, use file.write(…) instead.
Whether output is buffered is usually determined by file, but if the flush keyword argument is true, the stream is forcibly flushed.
Changed in version 3.3: Added the flush keyword argument.
直译
将objects打印到文本流file,以sep分隔,然后以end结尾。如果sep、end和file存在,必须作为关键字参数给定。
所有非关键字参数都转换为字符串(好比用str()处理),并写入到流,以sep分隔,然后以end结尾。sep和end都必须是字符串,它们也可以是None,这表示使用默认值。如果没有给定objects,print()将只写入end。
file参数必须是具有write(string)方法的对象,如果它不出现或为None,将使用sys.stdout。虽然打印的参数转化为文本字符串,但print()不能使用二进制模式文件对象。对于这种情况,可以使用file.write(…)替代。
输出是否缓冲,通常由file决定,但如果flush关键字参数为True,则会强制刷新流。
version 3.3变更: 增加flush关键字参数。
实例
>>> with open('example.txt', 'w') as f:
print('Hello world!', file=f)
>>> with open('example.txt', 'r') as f:
print(f.readline())
Hello world!
>>> with open('example.txt', 'r') as f:
print(f.readlines())
['Hello world!\n']
# 默认以\n结尾