Python: Which practice avoids a common mistake with LEGB Scope and Closures?

Difficulty:

Medium

Questions:

1

Time Limit:

2 minutes

Passing Score:

100%

Question

Which practice avoids a common mistake with LEGB Scope and Closures?

  1. Ignore the LEGB Scope and Closures issue and rely on team discipline instead of clearer APIs or invariants.
  2. Silence the LEGB Scope and Closures problem by using broad catches, hidden globals, or extra shared mutable state.
  3. Do not treat late binding or outer-scope capture as magic, because misunderstanding name lookup causes subtle callback bugs.
  4. Prefer the version of LEGB Scope and Closures 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: C. Do not treat late binding or outer-scope capture as magic, because misunderstanding name lookup causes subtle callback bugs.

Do not treat late binding or outer-scope capture as magic, because misunderstanding name lookup causes subtle callback bugs. This is a common failure mode in real Python code and a frequent interview follow-up.

Track: Python