python __future__

Python由于是非商业的,所以版本更新上有很多不兼容,例如python3和python2中的除法:

python2.x:

10/3 = 3   ; 10.0/3 = 3.333333...

而python3.x:

10/3 = 3.333333...  ; 10.0/3 = 3.333333...

地板除:用 // 来表示:

10 // 3 = 3

如果想导入这个特性,则可以使用:

from __future__ import division

__future__提供了一种将新版本特性导入当前版本的特性,这样我们就可以在当前版本做一些测试。

时间: 2024-10-15 21:03:28

python __future__的相关文章

python __future__ 的几种特性

今天看tensorflow的代码,看到python里面有这么几句: from __future__ import absolute_import from __future__ import division from __future__ import print_function 查了一下, absolute_import参考这里: http://blog.csdn.net/caiqiiqi/article/details/51050800 比如说,你的包结构是这样的: pkg/ pkg/i

python之使用__future__(解决版本不同,不兼容问题)

Python的新版本会引入新的功能,但是,实际上这些功能在上一个老版本中就已经存在了.要"试用"某一新的特性,就可以通过导入__future__模块的某些功能来实现. 例如,Python 2.7的整数除法运算结果仍是整数: >>> 10 / 3 3 但是,Python 3.x已经改进了整数的除法运算,"/"除将得到浮点数,"//"除才仍是整数: >>> 10 / 3 3.3333333333333335 >

python 使用__future__

Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动.有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了. 从Python 2.7到Python 3.x就有不兼容的一些改动,比如2.x里的字符串用'xxx'表示str,Unicode字符串用u'xxx'表示unicode,而在3.x中,所有字符串都被视为unicode,因此,写u'xxx'和'xxx'是完全一致的,而在2.x中以'xxx'表示的str就必须写成b'xxx',以此表示“二进制

XiaoKL学Python(C)__future__

__future__ in Python 1. from __future__ import xxxx 这是为了在低版本的python中使用可能在某个高版本python中成为语言标准的特性,从而 在将代码由低版本迁移到高版本的过程中,减少需要做的工作. 这种语句被称为 future_statement 2. future_statement的语法定义: Ref[2] future_statement: "from" "__future__" "import

Python使用__future__

Python的新版本会引入新的功能,但是,实际上这些功能在上一个老版本中就已经存在了.要"试用"某一新的特性,就可以通过导入__future__模块的某些功能来实现. 例如,Python 2.7的整数除法运算结果仍是整数: >>> 10 / 3 3 但是,Python 3.x已经改进了整数的除法运算,"/"除将得到浮点数,"//"除才仍是整数: >>> 10 / 3 3.3333333333333335 >

【python】__future__模块

转自:http://www.jb51.net/article/65030.htm Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动.有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了. 从Python 2.7到Python 3.x就有不兼容的一些改动,比如2.x里的字符串用'xxx'表示str,Unicode字符串用u'xxx'表示unicode,而在3.x中,所有字符串都被视为unicode,因此,写u'xxx'和'xxx'是完全一

Python基础之--from __future__ import unicode_literals作用

①  Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动.有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了 ② 从python 2.7到Python 3.x就有不兼容的一些改动,比如2.x里的字符串用'xxx'表示str,Unicode字符串用u'xxx'表示unicode,而在3.x中,所有字符串都被视为unicode,因此,写u'xxx'和'xxx'是完全一致的,而在2.x中以'xxx'表示的str就必须写成b'xxx',以此表示

python里面 __future__的作用

参考这篇文章: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386820023084e5263fe54fde4e4e8616597058cc4ba1000 其实就是在旧版本里面测试新版本的一些功能 比如python3.0里面的 division,//,unicode string 等等 在2.7里面通过 import __future__ 来获得新特性.当然了,我理解,

python模块学习之__future__

每个程序在更新版本之后,都会相较于上一个版本有所改动.这些改动会给程序的使用者造成不小的困扰! 比如python2.xx和3.xx的改动,足够让新手们头大了! 在3中, u'xxx'和'xxx'都是字符串类型(3种将type关键字换成了class,头疼!) b'xxx'表示字节类型 在2种, u'xxx'类型为Unicode,b'xxx'是字符串类型 真是头昏!每次都要注意3和2的区别! 于是,__future__模块就出现了!对于3和2文字类型的改动,只需要在模块最开始加上: from __f