Sunday, 19 July 2026

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

 


Code Explanation:

๐Ÿ”น 1. Class Definition
class Test:
You are defining a class named Test.

๐Ÿ”น 2. Overriding __getattribute__
def __getattribute__(self, name):
This method is called for every attribute access on an object.
It runs before anything else, even before __getattr__.
➤ Inside __getattribute__
if name == "x":
    return 100
If someone tries to access obj.x, this condition becomes true.
It directly returns 100.
No further lookup happens.
return super().__getattribute__(name)
For any other attribute:
It calls the default attribute lookup mechanism using super().
If the attribute exists → returns it.
If it does NOT exist → raises AttributeError.

๐Ÿ”น 3. Overriding __getattr__
def __getattr__(self, name):
This method is called only when the attribute is NOT found normally.
It acts as a fallback handler.
➤ Inside __getattr__
return 200
If an attribute doesn’t exist (like y), this method returns 200.

๐Ÿ”น 4. Object Creation
obj = Test()
Creates an instance of the Test class.

๐Ÿ”น 5. Printing Values
print(obj.x, obj.y)

Let’s break this step carefully:

➤ Accessing obj.x
__getattribute__ is called with name = "x".
Condition name == "x" is True.
Returns 100.

✔️ So, obj.x = 100

➤ Accessing obj.y
__getattribute__ is called with name = "y".

Condition fails → goes to:

super().__getattribute__("y")
Python tries to find y → it does NOT exist → raises AttributeError.
Since error occurred → Python calls __getattr__.
__getattr__ returns 200.

✔️ So, obj.y = 200

๐Ÿ”น 6. Final Output
100 200

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (119) AI (313) Android (25) AngularJS (1) Api (7) Assembly Language (2) aws (31) Azure (12) BI (10) Books (287) Bootcamp (12) C (78) C# (12) C++ (83) cloud (1) Course (87) Coursera (300) Cybersecurity (33) data (9) Data Analysis (40) Data Analytics (28) data management (16) Data Science (399) Data Strucures (23) Deep Learning (201) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (24) Finance (11) flask (4) flutter (1) FPL (17) Generative AI (76) Git (12) Google (53) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (43) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (354) Meta (24) MICHIGAN (5) microsoft (13) Nvidia (8) Pandas (15) PHP (20) Projects (34) Python (1405) Python Coding Challenge (1202) Python Mathematics (5) Python Mistakes (51) Python Quiz (575) Python Tips (27) Questions (3) R (72) React (7) Scripting (3) security (4) Selenium Webdriver (4) Software (21) SQL (52) Udemy (18) UX Research (1) web application (11) Web development (9) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)