Python: __future__模块
2013-06-26 21:45
253 查看
Python每个新的版本出来都会有一些新的特性或者对当前新特性进行增强,但是某些变化很可能会影响到当前版本的功能。为了让使用Python的同胞们为新的特性做好准备,Python提供了__future__模块。
我们可以通过 from __future__ import <featureName> 导入__future__模块中的新特性。
下面我就用Python 2.6做例子,简单说下__future__的结构
我们找到安装目录下__future__.py文件,可以看到每个feature 都有三个参数,如division:
[python] view plaincopy
division = _Feature((2, 2, 0, "alpha", 2),
(3, 0, 0, "alpha", 0),
CO_FUTURE_DIVISION)
上面division的新特性就是为整数相除得出更精确的值,在python2.6版本中,如果print 10/3. output为3。但是如果from __future__ import division之后再print 10/3,则会输出3.33333333333。
第一个参数optionalReleases: division的OptionalReleases为2.2.0 , 表示division的新特性在2.2.0版本已经具备了,但是并不是默认就可以使用的,我们必须要在导入__future__模块中该功能后才能使用。
第二个参数MandatoryReleases:division的MandatoryReleases为3.0.0,这表示division的新特性已经成功3.0.0版本的一部分了,我们不需要使用导入__future__模块中的division就可以使用division的新功能了。如果MandatoryReleases参数为None表示该新特性被废除了。
我们可以通过 from __future__ import <featureName> 导入__future__模块中的新特性。
下面我就用Python 2.6做例子,简单说下__future__的结构
我们找到安装目录下__future__.py文件,可以看到每个feature 都有三个参数,如division:
[python] view plaincopy
division = _Feature((2, 2, 0, "alpha", 2),
(3, 0, 0, "alpha", 0),
CO_FUTURE_DIVISION)
上面division的新特性就是为整数相除得出更精确的值,在python2.6版本中,如果print 10/3. output为3。但是如果from __future__ import division之后再print 10/3,则会输出3.33333333333。
第一个参数optionalReleases: division的OptionalReleases为2.2.0 , 表示division的新特性在2.2.0版本已经具备了,但是并不是默认就可以使用的,我们必须要在导入__future__模块中该功能后才能使用。
第二个参数MandatoryReleases:division的MandatoryReleases为3.0.0,这表示division的新特性已经成功3.0.0版本的一部分了,我们不需要使用导入__future__模块中的division就可以使用division的新功能了。如果MandatoryReleases参数为None表示该新特性被废除了。
相关文章推荐
- Python中的__future__模块
- Python: __future__ 模块
- python的__future__模块
- Python __future__ 模块
- 关于python 中的__future__模块(from __future__ import ***)
- Python的__future__模块
- 关于Python的__future__模块
- Python的未来 future模块
- Python __future__ 模块
- Python __future__ 模块
- python——模块——__future__
- Python模块之 __future__
- Python future模块
- 关于python中的__future__模块
- Python中的__future__模块
- Python之__future__模块
- python :__future__模块简介、命名空间简介、with语句
- python模块之__future__模块
- Python标准模块——__future__
- 关于python 中的__future__模块(from __future__ import ***)