哪个Python版本需要从__future__导入with_statement?
在使用 Python 2.6.5 的时候,我可以直接使用 with
这个语句,而不需要先调用 from __future__ import with_statement
。我该怎么知道哪个版本的 Python 支持 with
,而不需要特别从 __future__
导入它呢?
3 个回答
2
来自文档:
New in version 2.5.
17
你只需要在Python 2.5中使用这个功能。更早的版本(2.4及以下)不支持这个功能,而更新的版本(2.6及以上)默认就已经启用了。
所以,如果你想让你的代码支持Python 2.5及以上的版本,你只需在开头加上from __future__ import with_statement
这行代码。对于更新的版本,这行代码会被自动忽略。
51
__future__
特性是自我说明的。你可以试试这个:
>>> from __future__ import with_statement
>>> with_statement.getOptionalRelease()
(2, 5, 0, 'alpha', 1)
>>> with_statement.getMandatoryRelease()
(2, 6, 0, 'alpha', 0)
这些分别表示支持 from __future__ import with_statement
的第一个版本,以及第一个可以不使用 from __future__
而支持它的版本。
另外,看看这个:
>>> import __future__
>>> help(__future__)