Python: Which practice avoids a common mistake with Mutable Default Arguments?

Difficulty:

Medium

Questions:

1

Time Limit:

2 minutes

Passing Score:

100%

Question

Which practice avoids a common mistake with Mutable Default Arguments?

  1. Do not use a mutable default when you expect a brand-new container every call, because the same object will be reused.
  2. Ignore the Mutable Default Arguments issue and rely on team discipline instead of clearer APIs or invariants.
  3. Silence the Mutable Default Arguments problem by using broad catches, hidden globals, or extra shared mutable state.
  4. Prefer the version of Mutable Default Arguments that makes behavior less predictable as long as the code still runs.

Hint

Look for the option that protects correctness instead of hiding the problem.

Answer and rationale

Correct answer: A. Do not use a mutable default when you expect a brand-new container every call, because the same object will be reused.

Do not use a mutable default when you expect a brand-new container every call, because the same object will be reused. This is a common failure mode in real Python code and a frequent interview follow-up.

Track: Python