在使用__future__
模块和print_function
的Python 2.7中,您可以使用python 3.X打印功能。我的问题是,Python的开发人员是如何知道未来Python版本中会出现什么的?或者这个模块在发布后添加到Python 2.7中了吗?这是我正在谈论的代码:
from __future__ import print_function
print("Hello world!")
答案 0 :(得分:3)
在Python 2.1中引入了__future__
模块,以便访问即将发布的功能/功能,这些功能/功能将导致与当前实现不兼容,并在需要时扩展每个版本。
因此,该模块可以在早期版本中使用未来版本的那些不兼容的功能。因此,您可以利用这些功能的即将到来的优势。
文档中说明了该模块有三个主要原因:
__future__
是一个真实的模块,有三个目的:
- 避免混淆分析import语句的现有工具 期望找到他们导入的模块。
- 确保未来 语句在2.1之前的版本下运行至少产生运行时 例外(
__future__
的导入将失败,因为没有 2.1)之前该名称的模块。- 记录何时不兼容 引入了变化,以及何时制定变更 强制性的。这是一种可执行文档,可以 通过导入
__future__
以及检查它来以编程方式进行检查 内容。