Python: Which practice avoids a common mistake with __slots__?

Difficulty:

Medium

Questions:

1

Time Limit:

2 minutes

Passing Score:

100%

Question

Which practice avoids a common mistake with __slots__?

  1. Ignore the __slots__ issue and rely on team discipline instead of clearer APIs or invariants.
  2. Silence the __slots__ problem by using broad catches, hidden globals, or extra shared mutable state.
  3. Prefer the version of __slots__ that makes behavior less predictable as long as the code still runs.
  4. 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