Line 1: x = 1
A global variable x is created and assigned the value 1.
So right now:
Global scope → x = 1
Line 2–5: Define the function test()
def test():
global x
for x in range(3):
pass
This defines a function named test, but does not execute it yet.
Inside the function:
global x tells Python: “Use the global variable x, not a local one.”
So any change to x inside this function will affect the global x directly.
Inside the Function – The for Loop
for x in range(3):
pass
range(3) → generates [0, 1, 2].
The loop runs three times:
Iteration 1: x = 0
Iteration 2: x = 1
Iteration 3: x = 2
The pass statement does nothing (it’s just a placeholder).
But each time, x is reassigned, and because x is global, it changes the global variable!
Line 6: test()
Now the function test() is called.
The loop executes, and when it finishes:
x = 2
because the last value from range(3) is 2.
Line 7: print(x)
Now we’re outside the function, in the global scope again.
x has been changed globally by the function to 2.
So:
Output: 2
Final Output
2
.png)

0 Comments:
Post a Comment