camelcase-imported-as-constant (N814)
源自 pep8-naming linter。
作用
检查以常量风格名称别名的 CamelCase
导入。
为什么这不好?
PEP 8 推荐了类、函数、常量等的命名约定。导入名称和别名名称之间使用不一致的命名风格可能会导致读者期望导入是另一种类型(例如,将 Python 类与常量混淆)。
因此,导入别名应遵循与被导入成员相同的命名风格。
示例
建议改为
注意
根据 PEP 8 的规则,由单个大写字符组成的标识符是模棱两可的,它为类指定 CamelCase
,为常量指定 ALL_CAPS_SNAKE_CASE
。如果没有第二个字符,就无法可靠地猜测该标识符是打算成为类的 CamelCase
字符串的一部分,还是常量的 ALL_CAPS_SNAKE_CASE
字符串的一部分,因为这两种约定在给定单个输入字符时都会产生相同的输出。因此,此 lint 规则不适用于导入标识符的别名由单个大写字符组成的情况。
在 Django 的 django.db.models.Q
类中可以找到单个大写字符用于类名的常见示例。