对于Python2x如果我们使用,
from __future__ import print_function
Run Code Online (Sandbox Code Playgroud)
在print将成为功能是以前的keyword
但实际上,
其中两个有何不同?
我仍然可以print像使用它时那样使用它keyword,那么它有什么不同,它怎么能比以前更有效?
在这里,您可以阅读一些带有示例的官方文档和PEP3105以及更多详细信息.
作为快速的差异,有几件事情很容易用打印功能(Python 3或from __future__ import print_function)或至少非常一致:
没有新行
print('Hello!', end='')
Run Code Online (Sandbox Code Playgroud)
这在python 2中更复杂.
打印到stderr
import sys
print('ERROR!!!!!', file=sys.stderr)
Run Code Online (Sandbox Code Playgroud)
并不是的.使用您必须执行的功能print(stuff),但使用您可以执行的语句print stuff.
主要优点是,如果print是函数,则可以为该名称指定不同的函数.例如,您可以创建一个新功能,不仅可以将数据输出到屏幕,还可以将其记录到文件中.如果将此函数分配给内置函数print,则使用的任何代码都print将自动登录到文件.print作为声明,这是不可能的,您必须采用其他技术来获得相同的效果.
还有一些与print输出格式相关的较小变化.该语句使用"魔术"语法(例如,尾随逗号抑制了后续空格),而该函数使用标准的关键字参数约定.
此外,print它始终是Python 3中的一个函数.__future__如果您想要print作为函数,必须使用导入.
| 归档时间: |
|
| 查看次数: |
2285 次 |
| 最近记录: |