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



对于 Python2x 如果我们使用,

from __future__ import print_function

print将成为以前keyword的功能

但实际上,

其中两个有何不同?

我仍然可以像keyword时一样使用print,那么它有什么区别,它如何比以前更有效率?

在这里,您可以阅读一些带有示例的官方文档,以及包含更多详细信息的PEP3105。

作为快速差异,有几件事很容易使用打印功能(Python 3 或 from __future__ import print_function)或至少非常一致地做到:

无换行符

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

这在python 2中更为复杂。

打印到标准

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

在蟒蛇 2 中。

不是真的。 使用该函数,您必须执行print(stuff),但是使用语句可以执行print stuff

主要优点是,如果print是一个函数,则可以为该名称分配不同的函数。 例如,您可以创建一个新函数,该函数不仅将数据输出到屏幕,而且还将其记录到文件中。 如果将此函数分配给内置print,则使用 print 的任何代码都将自动记录到文件中。 这是不可能的print作为语句,您必须诉诸其他技术才能获得相同的效果。

还有一些与print格式化其输出的方式相关的较小更改。 该语句使用"魔术"语法(例如,尾随逗号抑制了后面的空格),而该函数使用标准的关键字参数约定。

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

最新更新