Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动。有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了。
Python提供了__future__
模块,把下一个新版本的特性导入到当前版本,于是我们就可以在当前如版本中测试一些新版本的特性。
从单词含义上猜应该是“未来”的模块。它有下面几个目的:
- 避免和现有分析import工具混淆,并得到你期望的模块
- 确保2.1之前的版本导入__future__产生运行时异常,因为2.1之前没有这个模块
- 文档化不兼容的改变,通常这些改变会在新版中强制执行。这类文档以可执行的形式组织,通过导入__future__进行可编程式的检查。