Thursday, 25 December 2025

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

 


Code Explanation:

1. Defining the Descriptor Class
class Desc:

A class named Desc is created.

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

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

__get__ is a special method used by descriptors.

It is called automatically whenever the attribute it controls is read/accessed.

Parameters:

self → the descriptor object

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

owner → the class of the instance (e.g., Demo)

The method simply returns 99, regardless of object or class.

3. Defining a Class that Uses the Descriptor
class Demo:
    x = Desc()

A class named Demo is defined.

The class attribute x is assigned an instance of Desc.

This makes x a managed attribute controlled by the descriptor.

Any access to x will go through Desc.__get__.

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

An object d of class Demo is created.

It does not store a normal value for x; access is handled by the descriptor.

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

Here’s what Python does internally:

It sees d.x.

It finds that x is a descriptor.

It calls:

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

__get__ returns 99.

print prints that value.

6. Final Output
99

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 (7) 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 (925) Python Mistakes (5) Python Quiz (361) 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)