flake8:E743模糊函数定义“ O”

d33*_*tah 1 python naming-conventions flake8

当我在只有一行的文件上运行flake8时:def O(): pass尽管函数运行正常,但出现以下错误:

/tmp/a.py:1:5: E743 ambiguous function definition 'O'
Run Code Online (Sandbox Code Playgroud)

为什么flake8失败了?为什么我不仅仅收到警告?

Pat*_*ugh 5

文档中

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

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

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


Dhi*_*aTN 5

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

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

[flake8]
ignore = E743
Run Code Online (Sandbox Code Playgroud)

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

但是,如果您只希望 flake8 不会失败并且只显示警告,则必须使用以下命令运行它--exit-zero

flake8 --exit-zero
Run Code Online (Sandbox Code Playgroud)