使用from __future__ import unicode_literals
Posted 邂逅&时光&
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用from __future__ import unicode_literals相关的知识,希望对你有一定的参考价值。
当你在查看一些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坑爹的地方
以上是关于使用from __future__ import unicode_literals的主要内容,如果未能解决你的问题,请参考以下文章
from __future__ import absolute_import as _absolute_import 错误,tensorflow 不起作用
为啥使用 from __future__ import print_function 会破坏 Python2 样式的打印? [关闭]
from __future__ import print_function
使用from __future__ import unicode_literals