轻量级前端框架助力开发者提升项目效率与性能
972
2022-10-13
Python print() 函数
在 Python 的编程实践中,print() 函数的使用频率非常高,特别是程序运行到某个时刻,要检测产生的结果时,通常都使用它来打印输出。
关于 print() 函数,前面很多地方已经提及过,可用于写入标准输出,现在来详细介绍一下。
1
版本差异
在 Python 2.x 中,print 是一个语句;但是在 3.x 中,它是一个函数。如果这两个版本都使用过,你就会发现差异有多么大。
进入 3.x 的交互式 shell,尝试使用“print 语句”:
>>> print 'Hello'...SyntaxError: Missing parentheses in call to 'print'. Did you mean print('Hello')?
你会发现有语法错误,正如上面所述,print 是 3.x 中的一个函数,与其他函数一样,参数应该被圆括号括起来:
>>> print('Hello')Hello
2
print() 函数
要了解 print() 函数的用途,可以使用 help() 来寻求帮助:
>>> help(print)Help on built-in function print in module builtins: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.
将值输出到一个流或者 sys.stdout,各个值之间由 sep 分割,然后以 end 结束。如果 file、sep、end 和 flush 出现,则必须以关键字参数的形式指定。
3
详细使用
打印多个值
使用 print() 函数,可以打印任意多个值(value1, value2, …):
>>> print('age', 18)age 18
可以看到,输出之后它们之间会有一个空格,这是默认的分隔符,取决于 sep。
分隔符
如果要重新定义分隔符,可以通过 sep 来指定:
>>> print('age', 18, sep = '') # 去掉空格age18>>>>>> print('age', 18, sep = '=') # 以 = 分割age=18
结束符
在打印的值后面,默认会跟一个 \n(换行),前面的示例体现的不明显,换一种方式就能看出来了:
>>> for letter in 'Hello':... print(letter)...Hello
每打印一个字符,就进行一次换行,然后再打印下一个,这就是 \n 所起的作用。
要改变这种行为,可以给 end 分配一个任意的字符串:
>>> for letter in 'Hello':... print(letter, end = '-')...H-e-l-l-o->>>
输出重定向
默认情况下,print() 的输出被发送到标准输出流(sys.stdout)。通过重新定义 file,可以将输出发送到不同的流(例如:文件)中:
>>> f = open('data.txt', 'w')>>> print('I am Waleon', file = f)>>> f.close()
可以看到,在屏幕上没有得到任何输出,输出被重定向至文件 data.txt 中了:
$ cat data.txtI am Waleon
注意:输出是否缓冲通常由文件决定,但是如果 flush 是 true,则流将被强制刷新。
·END·
高效程序员
谈天 · 说地 · 侃代码 · 开车
长按识别二维码,解锁更多精彩内容
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~