Wednesday, 25 June 2025

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

 


Code Explanation:

1. Function outer() is called
funcs = []
An empty list is created to hold functions.
for i in range(3):
    funcs.append(lambda: i)
Loop runs i = 0, 1, 2
In each iteration, it appends a lambda function that returns i.
BUT — this is the key point:
Lambdas do not capture the current value of i at the time they're created.
Instead, they capture the variable itself, not its value.
So after the loop finishes, i = 2, and all three lambdas refer to the same variable i, which now equals 2.

2. Returned Functions
f1, f2, f3 = outer()
The list of 3 lambda functions is returned.
All 3 functions are effectively: lambda: i, where i = 2 (final value after the loop)

3. Print the Results
print(f1(), f2(), f3())
Each function returns i, and since i = 2, the output is:
2 2 2

Final Output:
2 2 2 

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)