跳到内容

in-dict-keys (SIM118)

源自 flake8-simplify 代码检查器。

修复总是可用的。

作用

检查针对 dict.keys() 调用的键存在性检查。

为什么这不好?

当检查给定字典中是否存在某个键时,使用 key in dictkey in dict.keys() 更易读和高效,同时具有相同的语义。

示例

key in foo.keys()

建议改为

key in foo

修复安全性

给定 key in obj.keys()obj *可能* 是一个字典,也可能是另一个定义了 .keys() 方法的类型。 在后一种情况下,删除 .keys() 属性可能会导致运行时错误。 当 obj 的类型已知为字典时,该修复被标记为安全; 否则,它被标记为不安全。

参考