Monday, 22 December 2025

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

 


Code Explanation:

1. Defining the Descriptor Class
class Desc:

A new class named Desc is created.

This class will act as a descriptor, meaning it controls attribute access.

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

__get__ is a special descriptor method.

It is called whenever the attribute (to which this descriptor is attached) is read or accessed.

Parameters:

obj → the instance of the class accessing the attribute (e.g., d)

owner → the class in which the descriptor is defined (e.g., Demo)

It returns the fixed value 100 every time.

That means no value is stored — the result is always computed/returned dynamically.

3. Creating a Second Class That Uses the Descriptor
class Demo:
    x = Desc()

A class named Demo is created.

Inside it, the class attribute x is assigned an instance of Desc.

This means:

Attribute x is controlled by the descriptor.

From now on, whenever x is accessed through an object of Demo, Python will call Desc.__get__.

4. Creating an Object of Demo
d = Demo()

An object d of the class Demo is created.

It does not store any value in d.x directly — because x is not a normal attribute.

5. Accessing the Descriptor Attribute
print(d.x)

Here is what Python does behind the scenes:

It sees d.x

Python notices that x is a descriptor

So it calls:

Desc.__get__(<Desc instance>, d, Demo)


__get__ returns 100

So the printed result is:

100

Final Output
Output:
100

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (168) Android (25) AngularJS (1) Api (6) Assembly Language (2) aws (27) Azure (8) BI (10) Books (254) 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 (232) Data Strucures (14) Deep Learning (83) 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 (6) Google (47) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (41) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (205) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (12) PHP (20) Projects (32) Python (1230) Python Coding Challenge (921) Python Mistakes (2) Python Quiz (359) 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)