我遇到了有关* future *模块如何工作的问题。
什么是未来在Python中,如何/何时使用它,以及它是如何工作
和
未来的进口如何运作。
但是我仍然不明白的是,今天的解释器是如何创建的,知道将来发行版中代码的语法。
我在想的是,当他们为2.7版本创建python解释器时,他们会构建代码并创建可执行文件,并且不要触摸或修改它,而用户会下载并使用它。假设* python 2.7 可执行文件是在 2009 *年创建的。
并且* python 3.7 可执行文件是在 2017 中创建的, python 2.7 如何在导入print_function时知道要编译什么代码? python 2.7 *解释器如何知道将在创建解释器后引入的print_function代码是什么。
我是以正确的方式看待还是完全错误的看待?
有人可以揭开这个神秘面纱吗?
问题来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
从未来进口...
只是一个说一个功能是可用的过于可爱的方式,现在,但你必须选择接受。在未来,这将是默认或要求。
每个定义的导入都带有两条信息:可选地提供该功能的版本以及该功能将成为必需的版本。没有功能是以往任何时候都删除从' 未来 '模块。
对于Python 3.8的,也有可用9个特征的未来 '。除注释之外的所有注释都是必需的。永远不需要在旧版本的Python中运行的新代码不需要导入它们。即使导入实际上是无操作的,使用它们的旧代码也不需要更新。在Python 4.0发布之前,注解将仍然是一项可选功能;尚无日期,但是可以保证
注解`将成为该发行版的一部分,而不是任何较早发行版的必需部分。
回答来源:stackoverflow