在 Python 中,print
可以打印所有变量数据,包括自定义类型。
在 2.x 版本中,print
是个语句,但在 3.x 中却是个内置函数,并且拥有更丰富的功能。
参数选项
可以用 help(print)
来查看 print
函数的参数解释。
1
2
3
4
5
6
7
8
9
|
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: 是否强制刷新到输出流,默认否
能打印任意数据
1
2
3
|
print(1024, 10.24, 'hello', False)
# 1024 10.24 hello False
|
1
2
3
|
print([1, 2, 3])
# [1, 2, 3]
|
1
2
3
|
print((1, 2, 3))
# (1, 2, 3)
|
1
2
3
|
print({'name': 'hello', 'age': 18})
# {'name': 'hello', 'age': 18}
|
1
2
3
|
print({1, 2, 3})
# {1, 2, 3}
|
1
2
3
4
5
6
7
8
|
class Demo:
pass
demo = Demo()
print(demo)
# <__main__.Demo object at 0x1005bae80>
|
分隔符
默认分隔符是空格,sep
参数可以修改。
1
2
3
|
print(1, 2, 3, sep='-')
# 1-2-3
|
结束符
默认结束符是行号,end
参数可以修改。
1
2
3
4
5
|
print('第一行', end='-')
print('第二行')
# 第一行-第二行
|
输出重定向
默认情况下,print
函数会将内容打印输出到标准输出流(即 sys.stdout),可以通过 file 参数自定义输出流。
1
2
|
with open('data.log', 'w') as fileObj:
print('hello world!', file=fileObj)
|
此时,不会有任何标准输出,但对应的文件中已经有了内容。
我们也可以输出到错误输出流,例如:
1
2
3
|
import sys
print('hello world!', file=sys.stderr)
|
参考资料