Thursday, 22 January 2026

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

 


Code Explanation:

1. Defining a Descriptor Class D
class D:

This defines a class named D.

It is intended to be used as a descriptor.

2. Implementing the __get__ Method
    def __get__(self, obj, owner):
        return 50

__get__ is a descriptor method.

It is automatically called when the attribute is accessed.

Parameters:

self → the descriptor object (D instance)

obj → the instance accessing the attribute (a)

owner → the class owning the attribute (A)

It always returns 50, regardless of the object or class.

3. Defining Class A
class A:

This defines a class named A.

4. Creating a Descriptor Attribute in Class A
    x = D()

x is a class attribute.

It is assigned an instance of D.

Because D defines __get__, x becomes a non-data descriptor
(it has __get__ but no __set__).

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

An instance a of class A is created.

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

This creates an instance attribute x in object a.

Since D does not define __set__, it is a non-data descriptor.

Instance attributes override non-data descriptors.

So now:

a.__dict__ = {'x': 10}

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

Python looks for x in the following order:

Instance dictionary (a.__dict__)

Class attributes / descriptors

Since a.__dict__['x'] exists, it is returned.

The descriptor’s __get__ method is not called.

8. Final Output
10

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (185) Android (25) AngularJS (1) Api (7) Assembly Language (2) aws (28) Azure (8) BI (10) Books (261) Bootcamp (1) C (78) C# (12) C++ (83) Course (84) Coursera (299) Cybersecurity (29) Data Analysis (25) Data Analytics (17) data management (15) Data Science (246) Data Strucures (15) Deep Learning (102) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (18) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (52) 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 (224) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (13) PHP (20) Projects (32) Python (1240) Python Coding Challenge (980) Python Mistakes (36) Python Quiz (401) Python Tips (5) Questions (3) 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 (8) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)