对于 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__
导入。