no-unicode-literals

使用 from __future__ import unicode_literals 被认为是一种反模式。它存在的问题是

  • 它使得人们无法直接跳到文件中间,无法知道一个裸字符串是字节字符串还是文本字符串。程序员必须首先检查文件顶部以查看是否导入了该语句。

  • 它删除了使用字符串字面量定义原生字符串(在 python2 中是字节字符串,在 python3 中是文本字符串)的能力。

  • 它导致更多上下文切换。程序员可能正在阅读一个导入 unicode_literals 的文件,并且知道裸字符串字面量是文本字符串,但随后切换到另一个文件(也许跟踪程序执行进入第三方库)并必须切换他们对裸字符串字面量含义的理解。