Friday, 1 August 2025

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

 



Code Explanation:

1. Function Definition: append_and_return
def append_and_return(val, data=[]):
Defines a function that takes:
val: a value to append.
data: a list (optional), defaulting to [].

Important: The default value [] is mutable and is created only once at function definition time — not each time the function is called.

2. Appending to the List
    data.append(val)
    return data
The function appends val to the data list.
Then it returns the modified data list.

3. First Call: x = append_and_return(1)
x = append_and_return(1)
Since data is not passed, the default list ([]) is used.
1 is appended to it → data becomes [1].
So, x = [1].

4. Second Call: y = append_and_return(2)
y = append_and_return(2)
Again, no list is passed, so the same default list is reused.
2 is appended → data becomes [1, 2].
So, y = [1, 2].

This is the key issue: the default [] persists across calls unless explicitly overridden.

5. Third Call: z = append_and_return(3, [])
z = append_and_return(3, [])
Here, a new empty list [] is explicitly passed.
3 is appended → list becomes [3].
So, z = [3].

6. Final Output
print(x, y, z)
x and y share the same list: [1, 2]
z is a new independent list: [3]

Output
[1, 2] [1, 2] [3]



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 (226) Data Strucures (14) Deep Learning (76) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (17) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (49) 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 (198) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (12) PHP (20) Projects (32) Python (1222) Python Coding Challenge (902) Python Quiz (350) 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)