Tuesday, 10 February 2026

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

 


Code Explanation:

1. Defining the class
class Cache:

This defines a class named Cache.

The class will dynamically create attributes when they are first accessed.

2. Defining __getattr__
    def __getattr__(self, name):

__getattr__ is a special method.

It is called only when an attribute is NOT found in:

the instance dictionary, or

the class.

name is the attribute name being accessed.

3. Creating the attribute dynamically
        self.__dict__[name] = len(name)

This line adds a new attribute to the instance.

The attribute name is name.

The value stored is len(name) (length of the attribute name).

This is called lazy initialization or caching.

4. Returning the value
        return len(name)

The method returns the computed value.

So the first access gives back the same value that was stored.

5. Creating an instance
c = Cache()

An object c of class Cache is created.

Initially, c.__dict__ is empty.

6. First attribute access
print(c.abc, c.abc)

๐Ÿ”น First c.abc

Python looks for abc in c.__dict__ → not found.

Python looks in the class Cache → not found.

__getattr__(self, "abc") is called.

len("abc") → 3.

abc is stored in c.__dict__ as:

{"abc": 3}

The value 3 is returned.

๐Ÿ”น Second c.abc

Python finds abc directly in c.__dict__.

__getattr__ is not called.

The cached value 3 is returned instantly.

✅ Final Output
3 3

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (196) Android (25) AngularJS (1) Api (7) Assembly Language (2) aws (28) Azure (8) BI (10) Books (262) Bootcamp (1) C (78) C# (12) C++ (83) Course (84) Coursera (299) Cybersecurity (29) data (1) Data Analysis (25) Data Analytics (18) data management (15) Data Science (273) Data Strucures (15) Deep Learning (113) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (18) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (58) Git (9) Google (47) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (41) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (237) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (13) PHP (20) Projects (32) Python (1251) Python Coding Challenge (1011) Python Mistakes (48) Python Quiz (417) Python Tips (5) Questions (3) R (72) React (7) Scripting (3) security (4) Selenium Webdriver (4) Software (19) SQL (46) Udemy (17) UX Research (1) web application (11) Web development (8) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)