Wednesday, 14 May 2025

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

 


Code Explanation:

1. Function Definition
def add_entry(key, value, data={}):
Function Name: add_entry

Parameters:
key: The key to add to the dictionary.
value: The value to assign to the key.
data={}: A mutable default argument — this is important and causes unexpected behavior.

2. Function Logic
data[key] = value
return data
The function adds the key-value pair to the data dictionary.
Then it returns the updated dictionary.

3. Function Calls
print(add_entry('a', 1))
print(add_entry('b', 2))
This is where the mutable default argument issue shows up.

 4. What Happens Internally
First Call:
add_entry('a', 1)
data is the default {}.
'a': 1 is added.
Returns: {'a': 1}

Second Call:
add_entry('b', 2)
You might expect a new dictionary, but Python reuses the same data dictionary from the previous call.
'b': 2 is added to the same dictionary.
Returns: {'a': 1, 'b': 2}

5. Output
{'a': 1}
{'a': 1, 'b': 2}


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)