__future__ 模块在 Python 2.7 中如何工作? [复制]

Posted

技术标签:

【中文标题】__future__ 模块在 Python 2.7 中如何工作? [复制]【英文标题】:How does the __future__ module work in Python 2.7? [duplicate] 【发布时间】:2016-05-29 14:04:15 【问题描述】:

在使用__future__ 模块和print_function 的Python 2.7 中,您可以使用python 3.X 打印功能。我的问题是,Python 的开发人员如何知道 Python 的未来版本会发生什么?或者这个模块是在发布后添加到 Python 2.7 中的吗?这是我正在谈论的代码:

from __future__ import print_function
print("Hello world!")

【问题讨论】:

你可能对这篇文章感兴趣:How Does 'from __future__ import ...' Work in Python? 【参考方案1】:

__future__ 模块是在 Python 2.1 中引入的,以便访问即将推出的特性/功能,这将导致与当前实现不兼容,并在需要时随每个版本进行扩展。

因此该模块提供了在早期版本中使用未来版本的那些不兼容功能的可能性。因此,您可以利用这些功能即将带来的优势。

如文档中所述,该模块存在三个主要原因:

__future__ 是一个真正的模块,有三个用途:

为了避免混淆现有的分析导入语句和 期望找到他们正在导入的模块。 为确保未来 在 2.1 之前的版本下运行的语句至少产生运行时 异常(__future__ 的导入将失败,因为没有 2.1 之前的该名称的模块)。 不兼容时记录 引入了更改,以及何时进行或何时进行更改 强制的。这是一种可执行文档的形式,可以 通过导入__future__ 以编程方式检查并检查其 内容。

【讨论】:

以上是关于__future__ 模块在 Python 2.7 中如何工作? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

__future__ 模块 2018-08-09

__future__模块引用

Python基础之--from __future__ import unicode_literals作用

python中的future,你见过可以使用未来版本模块的语言吗?

Python模块适用于2.7但不适用于3.5 [重复]

本人刚学python 书上说from _future_ import division 可以实现正常除法