in-dict-keys (SIM118)
源自 flake8-simplify 代码检查器。
修复总是可用的。
作用
检查针对 dict.keys()
调用的键存在性检查。
为什么这不好?
当检查给定字典中是否存在某个键时,使用 key in dict
比 key in dict.keys()
更易读和高效,同时具有相同的语义。
示例
建议改为
修复安全性
给定 key in obj.keys()
,obj
*可能* 是一个字典,也可能是另一个定义了 .keys()
方法的类型。 在后一种情况下,删除 .keys()
属性可能会导致运行时错误。 当 obj
的类型已知为字典时,该修复被标记为安全; 否则,它被标记为不安全。