Python 提供了 __future__
模块,把 Python 新版本的语言特性加入到当前版本,于是我们就可以在当前版本中测试一些 Python 新版本的特性。
在 Python 源文件加上from __future__ import print_function
这句话后,即使低版本的Python2.X,当使用print函数时,也必须像 Python3.X 那样加上括号()。
在 Python2.x 的环境下,源文件使用语句 from __future__ import print_function
,则 print('good')
语法检查通过,print 'bad'
语法检查失败。
from __future__ import print_function
print('good')
print 'bad'
对于所有的 from __future__ import ...
,意味着在 Python2.x 与 Python3.x 新旧版本的兼容性方面存在差异,按照最新的语言特性来处理。我们可以把 __future__
看成Python的一个专门存放新特性的模块。除了print_function,还有absolute_import,division,unicode_literals。