python __future__模块

       今天在看一个代码的时候,突然发现了一个陌生的模块,__future__模块,然后就去官网上查了一下,翻译了一下,大概就是一个提前测试兼容新版本python特性的一个模块,翻译加理解,大概意思如下:

       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',以此表示“二进制字符串”。

      要直接把代码升级到3.x是比较冒进的,因为有大量的改动需要测试。相反,可以在2.7版本中先在一部分代码中测试一些3.x的特性,如果没有问题,再移植到3.x不迟。

-------------------------------------------------------------------------------------分割线-----------------------------------------------------------------------------------------再具有一个具体的简单的例子加以理解:

from __future__ import print_function

#python 2
print 'hello world'


#python 3
print('hello world')

如果你的python是python2的话,当你用python3的print()方法时,会发现,其也能正常输出

一些其他的例子:

from __future__ import division , 
from __future__ import absolute_import , 

from __future__ import with_statement

猜你喜欢

转载自blog.csdn.net/bai_and_hao_1314/article/details/81672377
今日推荐