flake8:E743 不明确的函数定义'O'



当我在只有一行的文件上运行flake8时: def O(): pass我得到了以下错误,尽管函数运行良好:

/tmp/a.py:1:5: E743 ambiguous function definition 'O'

为什么 flake8 会失败?为什么我不只收到警告?

从文档中:

不要定义名为"l"、"o"或"i"的函数 (E743(
名为 IOl 的函数可能很难阅读。这是因为这封信I和 字母l容易混淆,字母O和数字0 很容易混淆。

将这些函数的名称更改为更具描述性的名称。

其他链接
- https://www.python.org/dev/peps/pep-0008/#names-to-avoid

flake8 是一个用于在 Python 项目中强制执行 PEP8 样式一致性的实用程序,根据 pep8 函数命名约定:函数名称应为小写,必要时用下划线分隔单词以提高可读性。

如果您希望 flake8 忽略此特定错误(这违背了 linting 目的(,请将其添加到您的setup.cfg文件中:

[flake8]
ignore = E743

或使用以下选项运行它:flake8 --ignore=E743

但是,如果您只想要 flake8 不会失败并且只是显示警告,您必须使用 --exit-zero 运行它:

flake8 --exit-zero

最新更新