Question
Which practice avoids a common mistake with __slots__?
- Ignore the __slots__ issue and rely on team discipline instead of clearer APIs or invariants.
- Silence the __slots__ problem by using broad catches, hidden globals, or extra shared mutable state.
- Prefer the version of __slots__ that makes behavior less predictable as long as the code still runs.
- Do not add __slots__ blindly when the class relies on dynamic attributes, multiple inheritance complexity, or framework behavior that expects __dict__.
Hint
Look for the option that protects correctness instead of hiding the problem.
Answer and rationale
Correct answer: D. Do not add __slots__ blindly when the class relies on dynamic attributes, multiple inheritance complexity, or framework behavior that expects __dict__.
Do not add __slots__ blindly when the class relies on dynamic attributes, multiple inheritance complexity, or framework behavior that expects __dict__. This is a common failure mode in real Python code and a frequent interview follow-up.
Track: Python