Sunday, 6 July 2025

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

 


Code Explanation:

Line 1: def string_only(f):
Defines a decorator function called string_only.
It accepts a function f as an argument (this will be the function we want to "wrap").

Line 2: Define Inner Function wrap(x)
def wrap(x): return f(x) if isinstance(x, str) else "Invalid"
Defines a new function wrap(x) inside string_only.
This function:
Checks if the input x is a string using isinstance(x, str)
If x is a string → calls f(x)
If not → returns "Invalid"

Line 3: Return the Wrapped Function
return wrap
The string_only function returns the wrap function.
This means any function decorated with @string_only will now use this logic.

Line 4–5: Using the Decorator @string_only
@string_only
def echo(s): return s + s
This applies the string_only decorator to the echo function.
So this is equivalent to:
def echo(s): return s + s
echo = string_only(echo)
Now echo is not the original anymore — it’s the wrap function that does a type check first.

Line 6: Calling the Function with Non-String
print(echo(5))
5 is an int, not a string.
So inside wrap(x):
isinstance(5, str) is False
So it returns "Invalid"

Final Output:
Invalid

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)