python中常用__future__特性整理

Python的每个新版本都会增加一些新的功能,或者对原来的功能作一些改动。有些改动是不兼容旧版本的,也就是在当前版本运行正常的代码,到下一个版本运行就可能不正常了。要直接把代码升级到3.x是比较冒进的,因为有大量的改动需要测试。相反,可以在2.7版本中先在一部分代码中测试一些3.x的特性,如果没有问题,再移植到3.x不迟。
Python提供了 __future__ 模块,把下一个新版本的特性导入到当前版本,于是我们就可以在当前版本中测试一些新版本的特性。下面是整理的一些常用 __future__ 特性:
1、除法特性-division
1) 在Python 2.x中 ,对于除法有两种情况,如果是整数相除,结果仍是整数,余数会被扔掉,这种除法叫“地板除”:10 / 3 = 3;
要做精确除法,必须把其中一个数变成浮点数:10.0/3 = 3.3333333。

2) 在Python 3.x中 ,所有的除法都是精确除法,地板除用//表示:
10 / 3 = 3.3333333; 10 // 3 = 3。

3)若要在Python 2.7的代码中直接使用Python 3.x的除法,可以通过__future__模块的division实现:
from __future__ import division

2、显示特性-print
在python2.x的环境是使用下面语句,则第二句语法检查通过,第三句语法检查失败。
from __future__ import print_function
priint('good')
print 'bad'

3、字符编码-unicode
在python2.x里的字符串用'xxx'表示str,Unicode字符串用u'xxx'表示unicode。
在python3.x中,所有字符串都被视为unicode,因此,写u'xxx'和'xxx'是完全一致的,而在3.x中以'xxx'表示的str就必须写成b'xxx',以此表示“二进制字符串”。
from __future__ import unicode_literals


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值