What this Python language-knowledge question tests
This is a medium-difficulty Python question that probes your understanding of variable scoping, name binding, and how Python resolves identifiers in nested contexts. It's the kind of conceptual question interviewers ask to confirm you read code carefully and understand how the interpreter evaluates assignments and references.
To approach this, you'll need to trace through the code execution step-by-step, paying close attention to which scope each name belongs to and when binding occurs. The answer hinges on understanding Python's rules for variable lookup and how local assignments affect name resolution in the current and enclosing scopes.
- Local vs. global scope resolution
- Name binding and assignment semantics
- How Python's LEGB rule (Local, Enclosing, Global, Built-in) applies