对于Python2x如果我们使用,
from __future__ import print_function
print
将成为之前为keyword
但实际上,
其中两个有何不同?
我仍然可以使用print
,就像我使用keyword
时那样{{1}},然后它会有什么不同呢?它怎么能比以前更有效呢?
答案 0 :(得分:7)
在这里,您可以阅读一些official documentation示例和PEP3105以及更多详细信息。
作为快速差异,有几件事情很容易用打印功能(Python 3或from __future__ import print_function
)或至少非常一致:
没有换行
print('Hello!', end='')
这更复杂in python 2。
打印到stderr
import sys
print('ERROR!!!!!', file=sys.stderr)
答案 1 :(得分:6)
不是真的。使用该功能,您必须print(stuff)
,但使用您可以print stuff
的语句。
主要优点是,如果print
是一个函数,则可以为该名称指定不同的函数。例如,您可以创建一个新功能,不仅可以将数据输出到屏幕,还可以将其记录到文件中。如果将此函数分配给内置print
,则使用print
的任何代码都将自动登录到文件。使用print
作为语句是不可能的,您必须使用其他技术才能获得相同的效果。
还有一些与print
格式化输出相关的较小变化。该语句使用“魔术”语法(例如,尾随逗号抑制了以下空格),而该函数使用标准的关键字参数约定。
此外,print
始终是Python 3中的一个函数。如果您希望将__future__
作为函数,则必须使用print
导入。