Tuesday, 24 June 2025

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

 


Code Explanation:

1. Define the Outer Function: make_counter
def make_counter():
Declares a function named make_counter.
It will be used to create a customized counter function.

2. Initialize a Variable
    count = 0
Inside make_counter, a variable count is initialized to 0.
This will serve as the counter's starting value.
It is local to make_counter, but intended to be accessed inside the nested function.

3. Define the Inner Function (Closure): counter
    def counter():
        return count + 1
This is a nested function named counter.
It returns count + 1, but does not modify count.
It uses count from the enclosing scope (closure), but since there's no assignment to count, the value remains unchanged.

4. Return the Inner Function
    return counter
Returns the counter function itself (not the result of calling it).
The returned function carries with it the reference to the count variable from its creation environment — a closure.

5. Create a Counter Function
c = make_counter()
Calls make_counter, which returns the counter function.
Now c is a reference to the counter function, with count set to 0 in its closure.

6. Call the Counter Function Twice
print(c(), c())
c() runs the inner counter function:
It does not increment count; it just returns count + 1.
Since count is always 0, it returns 1 every time.

Output is:
1 1

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (161) Android (25) AngularJS (1) Api (6) Assembly Language (2) aws (27) Azure (8) BI (10) Books (254) Bootcamp (1) C (78) C# (12) C++ (83) Course (84) Coursera (299) Cybersecurity (28) Data Analysis (24) Data Analytics (16) data management (15) Data Science (225) Data Strucures (14) Deep Learning (75) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (17) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (48) 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 (197) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (12) PHP (20) Projects (32) Python (1219) Python Coding Challenge (898) Python Quiz (348) 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)