Thursday, 15 May 2025

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


 Code Explanation:

1. Function Definition
def tricky(val, container={}):
This defines a function named tricky that takes two parameters:
val: a required argument.

container: an optional argument with a default value of an empty dictionary ({}).

Important Concept:
The default value for container is mutable (a dictionary). In Python, default mutable arguments are only evaluated once, at function definition time—not each time the function is called. This is key to the "trick" in this function.

2. Modify the Dictionary
    container[val] = True
This line adds a new key-value pair to the dictionary container.

The key is val, and the value is True.

For example, if val = 'a', it adds 'a': True to the dictionary.

3. Return the Dictionary
    return container
Returns the updated container dictionary.

4. First Function Call
print(tricky('a'))
The function is called with 'a' as the argument.
Since no second argument is passed, the default dictionary {} is used.
It adds 'a': True to the dictionary.
Returns {'a': True}.

Output:
{'a': True}

5. Second Function Call
print(tricky('b'))
The function is called with 'b' as the argument.
Again, no second argument is passed, so you might expect a fresh dictionary—but:

Python reuses the same default dictionary created during the first function call!

So now 'b': True is added to the same dictionary.

The dictionary now contains {'a': True, 'b': True}.

Output:
{'a': True, 'b': True}


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)