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

Posted 袁莹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础之--from __future__ import unicode_literals作用相关的知识,希望对你有一定的参考价值。

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

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

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

         ④  为了适应Python 3.x的新的字符串的表示方法,在2.7版本的代码中,可以通过unicode_literals来使用Python 3.x的新的语法:在python3中默认的编码采用了unicode, 并取消了前缀u. 如果代码要兼容python2/3

 

       
         所以,在使用Django时,在models.py中导入-from __future__ import unicode_literals目的在于做版本的兼容性

转自:https://www.cnblogs.com/wxsblog/p/7381098.html

以上是关于Python基础之--from __future__ import unicode_literals作用的主要内容,如果未能解决你的问题,请参考以下文章

django中遇到的一些问题:

from __future__ import print_function的作用

Python学习from __future__ import print_function用法

python from __future__ import division

为啥使用 from __future__ import print_function 会破坏 Python2 样式的打印? [关闭]

from __future__ import print_function是个啥