You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于flake8仅在算术运算符两侧均无空格时才触发E226规则的疑问咨询

为什么flake8仅在算术运算符两侧均无空格时才触发E226规则?

我最近碰到个关于flake8 E226规则的疑惑,先给大家看个最小可复现的代码示例:

j = 0*0  # Flagged for E226.
j = 0* 0  # Not flagged for E226.
j = 0 *0  # Not flagged for E226.

正如注释里说的,我用flake8检测时,只有第一行被标记了E226,另外两行都没问题。我执行的检测命令是:

$ flake8 tmp.py --ignore=E225,E231,E117,F401,F811,F841,E303

得到的输出是:

tmp.py:1:6: E226 missing whitespace around arithmetic operator

但按照flake8的规则要求,算术运算符(+、-、/、*)的前后应该各有一个空格才对。而且我已经通过pip安装并更新到最新版本的flake8了:

$ python3 -m pip install flake8 --upgrade

实在搞不懂为什么会这样——为什么只有运算符两侧完全没有空格的情况才会触发E226,而单侧有空格的情况却不会被检测出来?有没有懂的朋友帮忙解释一下?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 08:20:31