Sunday, 24 August 2025

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

 


Code Explanation:

1. Defining a Decorator
def dec(f):
    def wrap(x=2): return f(x) + 5
    return wrap

dec is a decorator factory.

It accepts a function f.

Inside it defines another function wrap:

wrap takes an argument x, defaulting to 2 if no value is passed.

It calls the original function f(x) and adds 5 to the result.

Finally, wrap is returned (replaces the original function).

2. Decorating a Function
@dec
def k(x): return x*3


Normally: def k(x): return x*3 defines a function.

Then @dec immediately wraps k with dec.

Effectively, after decoration:

k = dec(k)

So now, k is not the original function anymore. It is actually the wrap function returned by dec.

3. Calling the Decorated Function
print(k())

k() is actually calling wrap().

Since no argument is passed, wrap uses its default parameter x=2.

Inside wrap:

Calls the original k(2) (the old k before wrapping).

Original k(2) = 2*3 = 6.

Adds 5 → result = 11.

4. Output
11

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (150) 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 (216) Data Strucures (13) Deep Learning (67) 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 (185) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (11) PHP (20) Projects (32) Python (1215) Python Coding Challenge (882) Python Quiz (341) 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)