Sunday, 16 November 2025

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

 


Code Explanation:

1. Defining Class R
class R:

You begin by creating a class named R, which will have an initializer and a private attribute.

2. Constructor of Class R
    def __init__(self):
        self.__v = 10

__init__ runs automatically when an object of R (or its child class) is created.

self.__v is a private attribute because it starts with double underscore __.

Python performs name-mangling, converting __v into _R__v internally.

This means subclasses cannot directly access __v using the name __v.

3. Defining Class S that Inherits R
class S(R):

Class S is a child class of R.

It inherits the constructor of class R, so __v is still created inside objects of class S (but as _R__v).

4. Method show() Inside Class S
    def show(self):
        return hasattr(self, "__v")

The method checks: Does the object have an attribute named "__v"?

Because of name-mangling, the actual attribute name is _R__v, not __v.

So hasattr(self, "__v") will return False.

5. Creating an Object of S and Calling show()
print(S().show())

An object of S is created → this also runs R’s constructor → _R__v is created.

Now show() is called.

hasattr(self, "__v") checks for "__v" exactly.

Since "__v" does not exist (only _R__v does), the result is:

False

Final Output: False

500 Days Python Coding Challenges with Explanation

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (161) 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 (225) Data Strucures (14) Deep Learning (75) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (17) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (48) 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 (197) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (12) PHP (20) Projects (32) Python (1219) Python Coding Challenge (898) Python Quiz (348) 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)