Python 3 进阶 —— print 打印和输出
在 Python 中,
在 2.x 版本中,
参数选项
可以用 help(print)
来查看 print
函数的参数解释。
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
- value: 打印的值,可多个
- file: 输出流,默认是
sys.stdout
- sep: 多个值之间的分隔符
- end: 结束符,默认是换行符
\n
- flush: 是否强制刷新到输出流,默认否
能打印任意数据
- 打印数字、字符串、布尔值
print(1024, 10.24, 'hello', False)
# 1024 10.24 hello False
- 打印列表
print([1, 2, 3])
# [1, 2, 3]
- 打印元组
print((1, 2, 3))
# (1, 2, 3)
- 打印字典
print({'name': 'hello', 'age': 18})
# {'name': 'hello', 'age': 18}
- 打印集合
print({1, 2, 3})
# {1, 2, 3}
- 打印对象
class Demo:
pass
demo = Demo()
print(demo)
# <__main__.Demo object at 0x1005bae80>
分隔符
默认分隔符是空格,sep
参数可以修改。
print(1, 2, 3, sep='-')
# 1-2-3
结束符
默认结束符是行号,end
参数可以修改。
print('第一行', end='-')
print('第二行')
# 第一行-第二行
输出重定向
默认情况下,print
函数会将内容打印输出到标准输出流(即 sys.stdout),可以通过 file 参数自定义输出流。
with open('data.log', 'w') as fileObj:
print('hello world!', file=fileObj)
此时,不会有任何标准输出,但对应的文件中已经有了内容。
我们也可以输出到错误输出流,例如:
import sys
print('hello world!', file=sys.stderr)