Sunday, 6 July 2025

Python Coding challenge - Day 591| What is the output of the following Python Code?

 


Code Explanation:

Decorator Function Definition
def dec(f):
    def wrap(x): return f(x) + 1
    return wrap
Explanation:
dec(f) is a decorator that:
Wraps a function f
Calls f(x) and adds 1 to the result
The inner function wrap does the actual wrapping logic.
It returns wrap, effectively replacing the original function.

First Definition of num (Decorated)
@dec
def num(x): return x * 2
Explanation:
This is equivalent to:
def num(x): return x * 2
num = dec(num)  # num now points to wrap(x)
So num(2) at this point would compute:
x * 2 = 4
Then wrap adds 1 → 4 + 1 = 5

Second Definition of num (Overrides the First!)
def num(x): return x * 3
Explanation:
This redefines the num function.
The decorated version (num = dec(...)) is overwritten.
So the decorator is now completely discarded.
Now, num(2) → 2 * 3 = 6

Function Call and Output
print(num(2))
Explanation:
Calls the second version of num (not decorated).
So output is simply:
2 * 3 = 6

Final Output:
6

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (152) Android (25) AngularJS (1) Api (6) Assembly Language (2) aws (27) Azure (8) BI (10) Books (251) Bootcamp (1) C (78) C# (12) C++ (83) Course (84) Coursera (298) Cybersecurity (28) Data Analysis (24) Data Analytics (16) data management (15) Data Science (217) Data Strucures (13) Deep Learning (68) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (17) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (47) Git (6) Google (47) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (41) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (186) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (11) PHP (20) Projects (32) Python (1218) Python Coding Challenge (884) Python Quiz (342) Python Tips (5) Questions (2) R (72) React (7) Scripting (3) security (4) Selenium Webdriver (4) Software (19) SQL (45) Udemy (17) UX Research (1) web application (11) Web development (7) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)