zoukankan      html  css  js  c++  java
  • Python: __future__模块

    Python每个新的版本出来都会有一些新的特性或者对当前新特性进行增强,但是某些变化很可能会影响到当前版本的功能。为了让使用Python的同胞们为新的特性做好准备,Python提供了__future__模块。


       我们可以通过  from __future__ import <featureName>  导入__future__模块中的新特性。

       下面我就用Python 2.6做例子,简单说下__future__的结构

       我们找到安装目录下__future__.py文件,可以看到每个feature 都有三个参数,如division:

     

    [python] view plaincopy
    1. division = _Feature((220"alpha"2),  
    2.                     (300"alpha"0),  
    3.                     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表示该新特性被废除了。

  • 相关阅读:
    什么是Servlet容器?
    JAVA
    BIO与NIO、AIO的区别(这个容易理解)
    深入分析JAVA IO(BIO、NIO、AIO)
    Undertow
    Consul CAP理论纠错
    JAVA BIO与NIO、AIO的区别
    Java-线程池专题(什么是线程池,如何使用,为什么要用)
    java中的重量级与轻量级概念
    Postman 把response的值自动放到变量里
  • 原文地址:https://www.cnblogs.com/ty10114g/p/3157543.html
Copyright © 2011-2022 走看看