Thursday, 12 February 2026

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

 


Code Explanation:

1. Defining the descriptor class
class D:


This defines a class named D.

Objects of this class will act as descriptors.

2. Implementing __get__
    def __get__(self, obj, owner):
        return "desc"


__get__ makes D a descriptor.

Parameters:

self → the descriptor object (D()).

obj → the instance accessing the attribute (c).

owner → the class (C).

Whenever this descriptor is accessed, it returns the string "desc".

Since only __get__ is defined, this is a non-data descriptor.

3. Defining the owner class
class C:


This defines a class named C.

4. Assigning the descriptor to a class attribute
    x = D()


x is a class attribute.

It is controlled by the descriptor D.

5. Creating an instance
c = C()


An object c of class C is created.

At this point, c has no instance attributes.

6. Manually adding an instance attribute
c.__dict__['x'] = "inst"


This inserts an instance attribute named x with value "inst".

It directly modifies the instance’s attribute dictionary.

7. Accessing the attribute
print(c.x)

๐Ÿ” Attribute lookup order in this case:

Data descriptors

Instance attributes

Non-data descriptors

Class attributes

D is a non-data descriptor.

Python finds x in c.__dict__ first.

The descriptor’s __get__ method is not called.

✅ Final Output
inst

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (196) Android (25) AngularJS (1) Api (7) Assembly Language (2) aws (28) Azure (8) BI (10) Books (262) Bootcamp (1) C (78) C# (12) C++ (83) Course (84) Coursera (299) Cybersecurity (29) data (1) Data Analysis (25) Data Analytics (18) data management (15) Data Science (274) Data Strucures (15) Deep Learning (114) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (18) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (59) 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 (238) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (13) PHP (20) Projects (32) Python (1251) Python Coding Challenge (1014) Python Mistakes (50) Python Quiz (419) 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)