正如另一篇文章(https://stackoverflow.com/a/7075121/2706606)所解释的那样,在python中你可以从未来导入东西。python中只有一个“未来”的宇宙吗?
例如2/4评估为0(因为它是一个整数除法)。
>>>print 2/4
0
但是如果你从未来导入“师”,其值为0.5
>>> from __future__ import division
>>> print 2/4
0.5
我从链接后不解的是,解析器不同的解析代码,当您使用未来的进口。
而我的问题是,是否只有一个单一的,独特的“未来”环境,所有这些未来的进口是从哪里取得的?
我们如何保证将来的导入将与未来版本的python编译器向前兼容?
是否有可能在“更遥远的将来”2/4会评估其他价值?
'__future__'仅在Python 2中使用,它几乎死亡。将来没有人会需要这个。 – furas
是的。未来的环境被称为Python 3. –
@furas:绝对不是。它现在在Py3中用于新事物,用于'generator_stop'([ref](https://docs.python.org/3/library/__future__.html))。尽管未来一旦到来,进口就不会做任何事情;它们被识别,但被忽略(因为默认语法已经包含了它们)。如果你在你的Python版本中导入了一些还不存在的东西(例如在2.4中导入了'with_statement'),你会得到一个异常,让你知道代码与旧版本的Python不兼容。 – ShadowRanger