Code Explanation:
Function Decorator Definition
def dec(f):
This defines a decorator function named dec.
A decorator is used to modify the behavior of another function.
It takes a function f as an argument.
Inner Wrapper Function
def wrap(x): return f(x) + 2
Inside the decorator, another function wrap(x) is defined.
This function:
Calls the original function f(x)
Adds 2 to the result
It wraps the original function with new behavior.
Returning the Wrapper
return wrap
The wrap function is returned.
So when dec is used, it replaces the original function with wrap.
Using the Decorator with @ Syntax
@dec
def fun(x): return x * 3
This applies the dec decorator to the function fun.
Equivalent to:
def fun(x): return x * 3
fun = dec(fun)
Now fun(x) actually runs wrap(x), which does f(x) + 2.
Calling the Decorated Function
print(fun(2))
fun(2) calls wrap(2)
Inside wrap(2):
f(2) → 2 * 3 = 6
6 + 2 = 8
So the final result is 8.
Final Output
8
The decorated version of fun(2) gives 8 instead of 6.
This shows how the decorator successfully modified the function.
.png)

0 Comments:
Post a Comment