Code Explanation:
1. Defining the Outer Function: base(x)
def base(x):
This defines a function called base that takes one argument x.
This function will return another function inside it.
2. Defining the Inner Function: powr(y)
def powr(y):
return x ** y
Inside base, a new function powr is defined.
powr takes one argument y.
It returns x ** y, which is x raised to the power of y.
Important: x is captured from the outer function (base) — this is called a closure.
3. Returning the Inner Function
return powr
Instead of returning a value directly, base returns the inner function powr.
This means calling base(x) gives you a custom power function that always uses x as the base.
4. Using the Function: calc = base(2)
calc = base(2)
This calls base(2), which means:
x = 2
A new function powr(y) is created, where x = 2 is stored.
calc now holds that inner function:
calc(y) → 2 ** y
5. Calculating calc(5)
print(calc(5))
calc(5) calls the powr function where x = 2 (from earlier), and y = 5.
So it calculates:
2 ** 5 = 32
Final Output
32
.png)

0 Comments:
Post a Comment