Friday, 2 January 2026

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

Code Explanation:

1. Defining the Class
class A:

A class named A is defined.

It customizes attribute access behavior by overriding special methods.

2. Overriding __getattribute__
    def __getattribute__(self, name):
        print("get", name)
        return super().__getattribute__(name)

__getattribute__ is called for every attribute access, even for non-existing ones.

It prints "get <attribute_name>".

Then it delegates the actual lookup to the default implementation using super().

3. Defining __getattr__ as a Fallback
    def __getattr__(self, name):
        return 5

__getattr__ is only called if normal attribute lookup fails.

It returns 5 when an attribute is not found.

4. Creating an Object
print(A().x)

Step-by-step execution:

A() creates an object of class A.

Python evaluates A().x.

Python first calls __getattribute__(self, "x").

Inside __getattribute__, it prints:

get x

Then it calls super().__getattribute__("x").

Since x does not exist, super().__getattribute__ raises AttributeError.

Because __getattribute__ does not catch this error, Python does not fall back to __getattr__.

The program crashes.

5. Why __getattr__ Is Not Used Here

Normally, if attribute lookup fails, Python calls __getattr__.

But in this case:

__getattribute__ is overridden.

It calls super().__getattribute__ which raises AttributeError.

But since the error happens inside __getattribute__ and is not handled, __getattr__ is never triggered.

To allow fallback, you must handle the exception manually.

6. Final Output
get x

Then Python raises:

AttributeError: 'A' object has no attribute 'x'

Final Answer
✔ Output printed:
get x
Then program crashes with:
AttributeError: 'A' object has no attribute 'x'

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (169) Android (25) AngularJS (1) Api (7) Assembly Language (2) aws (27) Azure (8) BI (10) Books (260) 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 (234) Data Strucures (14) Deep Learning (90) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (18) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (50) Git (8) Google (47) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (41) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (208) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (12) PHP (20) Projects (32) Python (1232) Python Coding Challenge (935) Python Mistakes (15) Python Quiz (383) 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)