【发布时间】:2020-03-10 21:57:53
【问题描述】:
为什么未来的导入仅限于某些功能?有没有办法在 Python 3.7 中获取海象运算符?我认为这会起作用,但它不起作用:
from __future__ import walrus
它不起作用,因为 walrus 不在支持的功能列表中:
__future__.all_feature_names
['nested_scopes', 'generators', 'division', 'absolute_import', 'with_statement', 'print_function', 'unicode_literals', 'barry_as_FLUFL', 'generator_stop', 'annotations']
除了使用 python 3.8,还有其他选择吗?
【问题讨论】:
-
Why are future imports limited to only certain functionality?——你是不是建议每个新版本的 Python 中的每一个新特性都应该追溯添加到以前的版本中? -
为什么未来的导入仅限于某些功能?请参阅meta.stackoverflow.com/questions/323334/…。
-
@AMC 我认为这不适用于这种情况,因为 OP 提出的建议在逻辑上是不可能的,而不是设计决定;所以答案可以用事实和推理来解释为什么这是不可能的,而不是用意见来解释为什么会这样决定。
-
@kaya3 啊,我明白你的意思了,我读过为什么未来的导入仅限于某些功能?“为什么/如何选择这些功能”。
-
在 Python 3.7 中使用海象运算符并非不可能,但它需要您通过导入挂钩编写自己的源代码转换。这当然不推荐用于任何严肃的代码,但它可以用于实验目的。
标签: python python-import