Wednesday, 2 July 2025

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

 

Code Explanation:

Function Definition: outer()
def outer():
This defines a function named outer.
Inside this function, we will build a list of functions and return them.

Initialize List to Store Functions
    funcs = []
funcs is initialized as an empty list.
This list will hold the inner functions we define in the loop.

For Loop: Create Functions Dynamically
    for i in range(3):
This loop will iterate 3 times with i taking values 0, 1, and 2.

Define inner Function with Default Argument
        def inner(i=i):
            return i * 2
A new function inner is defined on each loop iteration.
Key point: i=i is a default argument, which captures the current value of i at that point in the loop.
Without this, all inner functions would end up using the final value of i after the loop ends (commonly a bug).
The function returns i * 2.

Append Each Function to the List
        funcs.append(inner)
The current version of inner is added to the funcs list.
Now funcs will hold 3 separate functions, each with its own captured i.

Return the List of Functions
    return funcs
Once the loop is done, we return the list of 3 inner functions.

Unpack the Returned Functions
a, b, c = outer()
outer() returns a list of 3 functions.
These are unpacked into a, b, and c, which now each hold one of the inner functions.

Call the Functions and Print Results
print(a(), b(), c())
This calls each function and prints their returned values.
Let's see what each function does:
a() → First iteration → i = 0 → returns 0 * 2 = 0
b() → Second iteration → i = 1 → returns 1 * 2 = 2
c() → Third iteration → i = 2 → returns 2 * 2 = 4

Final Output
0 2 4

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)