跳到内容

get-attr-with-constant (B009)

源自 flake8-bugbear linter。

修复总是可用的。

作用

检查 getattr 的使用,它将常量属性值作为参数(例如,getattr(obj, "foo"))。

为什么这不好?

getattr 用于动态访问属性。如果该属性定义为常量,那么它与典型的属性访问相比并不更安全。如果可能,请优先使用属性访问而不是 getattr 调用,因为前者更简洁和符合语言习惯。

示例

getattr(obj, "foo")

建议改为

obj.foo

参考