gpt4 book ai didi

python - 为什么 from __future__ import * 会引发错误?

转载 作者:太空狗 更新时间:2023-10-29 20:42:11 28 4
gpt4 key购买 nike

我使用了以下导入:

from __future__ import *

但是出现了这个错误:

SyntaxError: future feature * is not defined (<pyshell#0>, line 1)

这个错误是什么意思?

最佳答案

虽然从 future 模块中导入 * 可能是危险的,并且由于 John Zwinck 提到的原因应该避免,但有趣的是找出为什么这不起作用。它确实与通常的 Python 导入语法不同,后者允许您使用 * 从模块中获取所有内容。

打开 Python 安装目录中的 Lib/compiler/future.py 可以看到发生了什么:所有从 __future__ 导入的导入语句都通过一个特殊的解析器运行,该解析器只允许您尝试导入其中一个预定义的功能。来自FutureParser的源码:

features = ("nested_scopes", "generators", "division",
"absolute_import", "with_statement", "print_function",
"unicode_literals")

基本上,您注意到从 __future__ 导入是一种特殊情况,它的工作方式与通常的 Python 导入过程略有不同,但这是有充分理由的。

关于python - 为什么 from __future__ import * 会引发错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27518487/

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