跳到内容

falsy-dict-get-fallback (RUF056)

有时提供修复。

此规则不稳定且处于预览状态。使用需要 --preview 标志。

作用

检查布尔测试位置中对 dict.get(key, falsy_value) 的调用。

为什么这不好?

默认的回退值 None 本身就是 falsy 值。

示例

if dict.get(key, False):
    ...

建议改为

if dict.get(key):
    ...

修复安全性

此规则的修复被标记为安全,除非 dict.get() 调用包含参数之间的注释,这些注释将被删除。

修复可用性

如果为 dict.get 提供了无效参数,则此规则的修复不可用。 如 文档 中所示,dict.get 接受两个仅限位置的参数,因此无效的情况可以通过存在两个以上的参数或任何关键字参数来识别。