set-attr-with-constant (B010)
Derived from the flake8-bugbear linter.
Fix is always available.
What it does
Checks for uses of setattr
that take a constant attribute value as an
argument (e.g., setattr(obj, "foo", 42)
).
Why is this bad?
setattr
is used to set attributes dynamically. If the attribute is
defined as a constant, it is no safer than a typical property access. When
possible, prefer property access over setattr
calls, as the former is
more concise and idiomatic.
Example
Use instead: