Friday, 20 March 2026

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

 


Code Explanation:

1. Defining Class D (Descriptor Class)
class D:

Here, a class D is defined. This class will act as a descriptor because it implements special methods like __get__.

2. Defining __get__ Method
def __get__(self, obj, objtype):
    return 50

__get__ is a descriptor method.

It is automatically called when the attribute is accessed.

self → instance of descriptor (D)

obj → instance of class A (i.e., a)

objtype → class A

It always returns 50, no matter what.

3. Defining Class A
class A:

A normal class is created.

4. Assigning Descriptor to Attribute x
x = D()

Here, x is assigned an instance of class D.

This makes x a descriptor attribute of class A.

5. Creating Object of Class A
a = A()

An object a of class A is created.

6. Assigning Value to a.x
a.x = 10

This creates an instance attribute x inside object a.

Normally, this would override the class attribute.

BUT: since D is a non-data descriptor (only __get__, no __set__),
instance attribute takes priority.

7. Accessing a.x
print(a.x)

Python first checks instance dictionary → finds x = 10

Since descriptor has no __set__, it is a non-data descriptor

So instance value is used instead of descriptor

Final Output
10

 Book:  500 Days Python Coding Challenges with Explanation

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (119) AI (223) Android (25) AngularJS (1) Api (7) Assembly Language (2) aws (28) Azure (9) BI (10) Books (262) Bootcamp (1) C (78) C# (12) C++ (83) Course (86) Coursera (300) Cybersecurity (29) data (5) Data Analysis (27) Data Analytics (20) data management (15) Data Science (329) Data Strucures (16) Deep Learning (135) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (19) Finance (10) flask (4) flutter (1) FPL (17) Generative AI (66) Git (10) Google (50) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (41) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (264) Meta (24) MICHIGAN (5) microsoft (11) Nvidia (8) Pandas (13) PHP (20) Projects (32) pytho (1) Python (1266) Python Coding Challenge (1088) Python Mistakes (50) Python Quiz (448) 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)