跳到内容

static-join-to-f-string (FLY002)

派生自 flynt 代码检查器。

修复总是可用的。

作用

检查可以替换为 f-string 的 str.join 调用。

为什么这不好?

f-strings 比 str.join 调用更易读,通常更受欢迎。

示例

" ".join((foo, bar))

建议改为

f"{foo} {bar}"

修复安全性

此修复总是被标记为不安全,因为 f-string 表达式的求值默认会调用每个对象的 __format__ 方法,而 str.join 希望每个对象都是 str 的实例并使用相应的字符串。因此,生成的字符串的值可能不同,或者一个表达式可能引发异常,而另一个表达式则不会。

参考