python的__future__模块作用

Python提供了__future__模块,把下一个新版本的特性导入到当前版本,于是我们就可以在当前版本中测试一些新版本的特性。

例如:在开头加上from __future__ import print_function,在python2.7下使用print可以像python3.6那样加括号。


如果某个版本中出现了某个新的功能特性,而且这个特性和当前版本中使用的不兼容,也就是它在该版本中不是语言标准,那么我如果想要使用的话就需要从future模块导入。

  其他例子: 
    from __future__ import division , 
    from __future__ import absolute_import , 

    from __future__ import with_statement 。等等 

加上这些,如果你的python版本是python2.X,你也得按照python3.X那样使用这些函数。
当你在查看一些python源码或者其他人的代码的时候,经常会在.py 的文件里看到 from __future__ import unicode_literals 

    在Python中有些库的接口要求参数必须是str类型字符串,有些接口要求参数必须是unicode类型字符串。
    对于str类型的字符串,调用len()和遍历时,其实都是以字节为单位的,这个太坑爹了,同一个字符使用不同的编码格式,长度往往是不同的。
    对unicode类型的字符串调用len()和遍历才是以字符为单位,这是我们所要的。
    另外,Django,Django REST framework的接口都是返回unicode类型的字符串。
    为了统一,我个人建议使用from __future__ import unicode_literals,将模块中显式出现的所有字符串转为unicode类型,不过,对于必须使用str字符串的地方要加以注意。
    关于字符串类型,也是Python2坑爹的地方

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值