no-unicode-literals

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

  • 它使得无法直接查看文件,判断一个裸字符串是字节字符串还是文本字符串。程序员必须首先查看文件顶部,确定是否包含该导入语句。

  • 它移除使用字符串字面量定义原生字符串(在 Python 2 中应该是字节字符串,在 Python 3 中应该是文本字符串)的能力。

  • 它增加了上下文切换的次数。程序员可能正在阅读一个包含 unicode_literals 的文件,并知道裸字符串字面量是文本字符串,但随后切换到另一个文件(例如跟踪程序执行进入第三方库),则需要改变对裸字符串字面量的理解。