Sunday, 18 May 2025

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

 


Code Explanation:

Function Definition: make_funcs

This defines a function that will return a list of functions.

def make_funcs():

Initialize an Empty List

We initialize an empty list named funcs to store lambda functions.

funcs = []

Loop from 0 to 3

The loop runs 4 times with i taking values from 0 to 3.

for i in range(4):

Create a Closure with Default Argument

funcs.append(lambda x=i: lambda: x*i)

This is the trickiest part:

x=i is a default argument, which captures the current value of i at each iteration.

lambda x=i: returns another lambda: lambda: x*i.

So funcs will store inner lambdas, each remembering the value of i when they were created.

Return List of Inner Lambdas

return [f() for f in funcs]

Each f() returns the inner lambda (i.e., lambda: x*i).

So this returns:

[

  lambda: 0*0,

  lambda: 1*1,

  lambda: 2*2,

  lambda: 3*3

]

Call Each Inner Lambda

for f in make_funcs():

    print(f())

We now:

Call make_funcs() → get a list of 4 inner lambdas.

Call each of them with f(), which evaluates x*i from before.

 Intermediate Evaluation

lambda: 0*0 → 0

lambda: 1*1 → 1

lambda: 2*2 → 4

lambda: 3*3 → 9

Final Output

0

1

4

9


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)