跳到内容

percent-format-mixed-positional-and-named (F506)

派生自 Pyflakes 代码检查器。

作用

检查同时具有位置占位符和命名占位符的 printf 风格格式字符串。

为什么这不好?

Python 不支持在 printf 风格的格式字符串中混合使用位置占位符和命名占位符。 使用混合占位符将在运行时引发 TypeError

示例

"%s, %(name)s" % ("Hello", {"name": "World"})

建议改为

"%s, %s" % ("Hello", "World")

或者

"%(greeting)s, %(name)s" % {"greeting": "Hello", "name": "World"}

参考