"from __future__ import..."对最新版本的Python有任何影响吗?



我安装了最新版本的Python。from __future__ import...声明会有什么影响吗?除了我应该知道的最新版本之外,还有什么"未来"吗 - 对新手来说可能不明显的"预发布"或测试版?

我问是因为我正在学习这个 TensorFlow 的介绍性教程,它告诉我执行from __future__ import print_function。我真的不确定这是在做什么,以及它是否正在这样做 - 没有报告任何错误......但也没有明显的效果。

我已经尝试将 from future... 语句作为 python 会话中的第一件事来执行,或者它在教程中给出的指令序列中的位置。似乎没有什么区别...除了送新人去追野鹅!我错过了什么吗?

Python 3

已经具有 print 函数,因此当您已经在使用 Python 3 时,from __future__ import print_function将不起作用。 正如 PEP 236 所描述的,未来语句是在编译时而不是在运行时处理的,因此无论是否使用冗余的未来语句,模块都应该无法区分。

如果使用导入,即使不需要,也不会导致任何错误。 这允许开发人员编写在Python 2和Python 3上交叉兼容的Python模块。

来自 Future 语句的文档:

Python 3.0 识别的功能包括absolute_import、除法、生成器、unicode_literals、print_function、nested_scopes和with_statement。它们都是冗余的,因为它们始终处于启用状态,并且仅出于向后兼容性而保留。

所以如果你使用的是Python 3,那就不行了。 没必要。

最新更新