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
    评论
抱歉,我不确定您需要哪种特定的 "__future__" 导入语句,因为有多个可用的选项。以下是一些可能的选项及其功能的简要说明: 1. `from __future__ import division` 将当前文件中的除法运算符 `/` 更改为 Python 3 中的真除法 `/`,而不是整除符号 `//`。这意味着在执行除法时,如果有小数,则结果将是一个浮点数,而不是向下取整的整数。 2. `from __future__ import print_function` 在 Python 2 中,`print` 是一个语句而不是一个函数。此导入语句允许您使用 Python 3 中的 `print` 函数语法,使其与 Python 2 兼容。这样,您可以像使用函数一样使用 `print()`,并且可以使用 `print()` 的其他参数,例如 `sep` 和 `end`。 3. `from __future__ import unicode_literals` 在 Python 2 中,字符串默认使用 ASCII 编码。此导入语句将字符串转换为 Unicode 格式,这与 Python 3 中的默认行为相同。这意味着您可以在字符串中使用特殊字符,如字母重音符号,而无需使用转义符号。 4. `from __future__ import absolute_import` 在 Python 2 中,相对导入可能会引起一些意想不到的行为。此导入语句指示 Python 2 将相对导入视为绝对导入,这是 Python 3 中的默认行为。这可以提高代码的可移植性,并帮助避免潜在的问题。 这些是 __future__ 导入语句的一些常见示例。请注意,导入语句的可用性和行为可能因 Python 版本而异。如果您需要更具体的信息,请告诉我您需要的具体内容。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值