正如另一篇文章(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