跳到内容

f-string-missing-placeholders (F541)

派生自 Pyflakes 代码检查器。

修复总是可用的。

作用

检查不包含任何占位符表达式的 f-strings。

为什么这不好?

f-strings 是一种格式化字符串的便捷方式,但如果没有要格式化的占位符表达式,则它们不是必需的。 在这种情况下,应使用常规字符串,因为没有占位符的 f-string 可能会让读者感到困惑,他们可能期望存在这样的占位符。

没有任何占位符的 f-string 也可能表明作者忘记添加占位符表达式。

示例

f"Hello, world!"

建议改为

"Hello, world!"

注意: 为了保持与 PyFlakes 的兼容性,如果所有 f-string 段都不包含占位符表达式,则此规则仅标记作为隐式连接一部分的 f-strings。

例如

# Will not be flagged.
(
    f"Hello,"
    f" {name}!"
)

# Will be flagged.
(
    f"Hello,"
    f" World!"
)

有关更多信息,请参见#10885

参考