flake8:E743模糊函数定义'O'

时间:2018-01-27 14:54:50

标签: python naming-conventions flake8

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

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

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

2 个答案:

答案 0 :(得分:4)

来自documentation

  

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

     

将这些功能的名称更改为更具描述性的名称。

     

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

答案 1 :(得分:2)

  

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

如果你想让flake8忽略这个特定错误(这是违反linting目的的话),可以将它添加到你的setup.cfg文件中:

[flake8]
ignore = E743

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

但是,如果您只是希望flake8没有失败并且只是显示警告,则必须使用--exit-zero运行它:

flake8 --exit-zero