Python中关键字"print"和函数"print"的实际区别

50 浏览
0 Comments

Python中关键字"print"和函数"print"的实际区别

这个问题已经有答案了

Python 3.x 中新的 print 函数相对于 Python 2 中的 print 语句有什么优点?

对于 Python 2.x,如果我们使用:

from __future__ import print_function

print 会变成一个函数,这之前是一个关键字

但实际上,

这两者有什么不同呢?

我仍然可以像在它是一个关键字时一样使用 print,那么它是怎样比之前更有效率的呢?

admin 更改状态以发布 2023年5月24日
0
0 Comments

并非完全是这样。使用函数必须要写print(stuff),但是使用语句可以写成print stuff

主要优势是如果print是一个函数,你可以为该名称分配一个不同的函数。例如,您可以创建一个新函数,不仅将数据输出到屏幕上,还将其记录到文件中。如果您分配此函数到内置的print,则使用print的任何代码都会自动记录到一个文件中。这在print作为语句情况下是不可能的,您必须使用其他技术来达到同样的效果。

此外,print的输出格式也有一些较小的变化。语句使用了“神奇”的语法(例如,尾随逗号抑制了接下来的空格),而函数使用标准的关键字参数约定。

此外,在Python 3中,print将始终是一个函数。在Python 2中,如果您需要print作为函数,则必须使用__future__导入。

0
0 Comments

在这里您可以阅读一些官方文档,其中包含一些示例和更详细的PEP3105

作为快速的差异,使用打印功能(Python 3或 from __future__ import print_function)至少非常一致,下面是几个非常容易实现的事情:

无换行符

print('Hello!', end='')

在python 2中较为复杂

将输出打印到stderr

import sys
print('ERROR!!!!!', file=sys.stderr)

在python 2中需要一些操作

0