Monday, 24 November 2025

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

 

Code Explanation:

1. Class P definition
class P:

Declares a new class named P.

P will act as a base (parent) class for other classes.

2. __init__ constructor in P
    def __init__(self):
        self.__v = 12

Defines the constructor that runs when a P (or subclass) instance is created.

self.__v = 12 creates an attribute named __v on the instance.

Because the name starts with two underscores, Python will name-mangle this attribute to _P__v internally to make it harder to access from outside the class (a form of limited privacy).

3. Class Q definition inheriting from P
class Q(P):

Declares class Q that inherits from P.

Q gets P’s behavior (including __init__) unless overridden.

4. check method in Q
    def check(self):
        return hasattr(self, "__v")

Defines a method check() on Q that tests whether the instance has an attribute literally named "__v" (not the mangled name).

hasattr(self, "__v") looks for an attribute with the exact name __v on the instance — it does not account for name mangling.

5. Create an instance of Q
q = Q()

Instantiates Q. Because Q inherits P, P.__init__ runs and sets the instance attribute — but under the mangled name _P__v, not __v.

6. Print the result of q.check()
print(q.check())

Calls check() which runs hasattr(self, "__v").

The instance does not have an attribute literally named __v (it has _P__v), so hasattr returns False.

The printed output is:

False

Final Output:

False

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)