gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 08:51:04 25 4
gpt4 key购买 nike

我已经回答了有关future 模块如何工作的问题。

What is __future__ in Python used for and how/when to use it, and how it works

How __future__ imports work under the hood.

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

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

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

我的看法是正确的还是完全错误的?

谁能解开这个谜团。

最佳答案

from __future__ import ... 只是一种过于可爱的说法,表示某项功能现在可用,但您必须选择加入。将来,它会是默认的或必需的。

每个定义的导入都带有两条信息:使该功能可选可用的版本,以及该功能将成为强制的版本。 __future__ 模块中从未删除任何功能。

从 Python 3.8 开始,__future__ 中提供了九个功能。除了一个,annotations,所有的都是强制性的。永远不需要在旧版本 Python 中运行的新代码不需要导入它们。使用它们的旧代码不需要更新,即使导入实际上是空操作。在 Python 4.0 发布之前,annotations 仍将是可选功能;没有具体日期,但保证 annotations 将成为该版本的一部分,并且不是任何早期版本的强制性部分。

关于python - __future__ 语句如何知道新 python 版本的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60607395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com