Explanation:
Line 1: Global Variable Initialization
x = 1
A global variable x is created.
Current value of x → 1
Line 2–5: Function Definition
def f():
global x
x += 2
def f():
Defines a function named f.
global x
Tells Python that x inside this function refers to the global variable, not a local one.
x += 2
Updates the global x.
When f() runs:
x becomes 1 + 2 = 3
Important:
The function does NOT return anything, so by default it returns:
None
Line 6: Function Call Inside Expression (TRICKY)
x = x + f()
Step-by-step execution order:
f() is called first
Inside f():
x becomes 3
returns None
Expression becomes:
x = 1 + None
Line 6 Result: ERROR
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
Why?
You cannot add:
an int (1)
with None
f() returned None, not a number
Line 7: Print Statement
print(x)
This line never runs, because the program crashes on the previous line.
Final Outcome
Output:
TypeError

0 Comments:
Post a Comment