Shi*_*iva 7 python code-structure
假设我有一个字符串列表/元组,
COLOURS = [
"White",
"Black",
"Red"
"Green",
"Blue"
]
for c in COLOURS:
# rest of the code
Run Code Online (Sandbox Code Playgroud)
有时我忘记在列表中的每个条目后面放置逗号("Red"在上面的代码片段中)。这会产生一个"RedGreen"而不是两个单独的"Red"列表"Green"项。
由于这是有效的 Python,因此没有 IDE/文本编辑器显示警告/错误。错误的值仅在测试过程中才会引起注意。
我应该使用什么写作风格或代码结构来防止这种情况?
您错误地认为“没有 IDE/文本编辑器显示警告/错误”。Pylint可以使用带有标志check-str-concat-over-line-jumps 的规则implicit-str-concat (W1404)来识别此问题。(就此而言,有很多东西是有效的 Python,linter 会警告你,例如bare。)except:
就我个人而言,我使用的是 VSCode,因此我通过 Python 扩展 ( python.linting.pylintEnabled) 启用了 Pylint 并设置了如下pylintrc :
[tool.pylint]\ncheck-str-concat-over-line-jumps = yes\nRun Code Online (Sandbox Code Playgroud)\n现在 VSCode 会针对您的列表发出以下警告:
\n\n\n在列表\xc2\xa0 pylint(implicit-str-concat)\xc2\xa0 [Ln 4, Col 1]中找到隐式字符串连接
\n
最后,可能还有其他 linter 可以找到相同的问题,但 Pylint 是我发现的第一个。
\n| 归档时间: |
|
| 查看次数: |
579 次 |
| 最近记录: |