What this Python language-knowledge question tests
This is a hard Python question that probes deep understanding of loop semantics, variable scope, and how Python's name-binding works in nested contexts. It rewards careful reading of code flow over intuition, and is the kind of question that separates candidates who truly understand language mechanics from those who rely on pattern matching.
To solve it, you need to trace how variables are assigned and referenced across loop iterations, pay attention to the timing of when names are bound, and understand how Python's closure semantics interact with mutable state. The "surprise" in these questions usually stems from a subtle interaction between loop variables and scope that most candidates miss on first reading.
- Loop variable binding and iteration scope
- Closure semantics and late binding
- Name resolution and the LEGB rule
- Mutation vs. rebinding