Sunday, 6 July 2025

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

 


Code Explanation:

Line 1: def pack(f):
Defines a function pack that takes another function f as an argument.

This is a higher-order function (a function that works with other functions).

Line 2–3: Inner Function wrap(x) and Return
def wrap(x): return (f(x), x)
return wrap
wrap(x) is a nested function that:
Calls f(x) and returns a tuple: (f(x), x)
pack(f) finally returns this wrap function.
Purpose: It wraps any function so that calling it returns both the result and the original input.

Line 4: Using Decorator @pack
@pack
def square(x): return x ** 2
This is equivalent to:
def square(x): return x ** 2
square = pack(square)
So now square is actually the wrap function returned by pack.

Meaning:
square(3) → (square(3), 3) → ((3**2), 3) → (9, 3)

 Line 5: Function Call and Indexing
print(square(3)[1])
square(3) now returns (9, 3)
square(3)[1] accesses the second element of the tuple, which is 3.
print(...) prints that value to the screen.

Final Output:
3

Download Book - 500 Days Python Coding Challenges with Explanation

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)