开发者社区 问答 正文

__future__语句如何知道新python版本的语法?

我遇到了有关* future *模块如何工作的问题。

什么是未来在Python中,如何/何时使用它,以及它是如何工作

未来的进口如何运作。

但是我仍然不明白的是,今天的解释器是如何创建的,知道将来发行版中代码的语法。

我在想的是,当他们为2.7版本创建python解释器时,他们会构建代码并创建可执行文件,并且不要触摸或修改它,而用户会下载并使用它。假设* python 2.7 可执行文件是在 2009 *年创建的。

并且* python 3.7 可执行文件是在 2017 中创建的, python 2.7 如何在导入print_function时知道要编译什么代码? python 2.7 *解释器如何知道将在创建解释器后引入的print_function代码是什么。

我是以正确的方式看待还是完全错误的看待?

有人可以揭开这个神秘面纱吗?

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 21:30:23 505 分享 版权
1 条回答
写回答
取消 提交回答
  • 从未来进口...只是一个说一个功能是可用的过于可爱的方式,现在,但你必须选择接受。在未来,这将是默认或要求。

    每个定义的导入都带有两条信息:可选地提供该功能的版本以及该功能将成为必需的版本。没有功能是以往任何时候都删除从' 未来 '模块。

    对于Python 3.8的,也有可用9个特征的未来 '。除注释之外的所有注释都是必需的。永远不需要在旧版本的Python中运行的新代码不需要导入它们。即使导入实际上是无操作的,使用它们的旧代码也不需要更新。在Python 4.0发布之前,注解将仍然是一项可选功能;尚无日期,但是可以保证注解`将成为该发行版的一部分,而不是任何较早发行版的必需部分。

    回答来源:stackoverflow

    2020-03-24 21:30:29
    赞同 展开评论
问答分类:
问答地址: