Tuesday, 30 December 2025

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

 


Code Explanation:

1. Defining the Base Class
class Base:

A class named Base is defined.

This class will contain a class variable and a class method.

2. Declaring a Class Variable
    x = 10

x is a class variable.

It belongs to the class Base, not to any object.

Initially, Base.x = 10.

3. Declaring a Class Method
    @classmethod
    def inc(cls):
        cls.x += 5
What does @classmethod do?

@classmethod means the method receives the class as its first argument (cls), not the object.

When called, cls refers to the class that called the method.

Inside the method:

cls.x += 5 increases the class variable x by 5.

4. Creating a Child Class
class Child(Base):
    pass

Child inherits from Base.

So it also has access to:

class variable x

class method inc()

5. Calling the Class Method Using the Child Class
Child.inc()

The class method inc is called using Child.

So inside inc, cls refers to Child, not Base.

Now important behavior:

Python checks whether Child already has its own x variable.

It does not.

So Python uses the inherited x from Base.

Then cls.x += 5 assigns a new x to Child:

Child.x = 10 + 5 = 15

This creates a new class variable in Child, not in Base.

But due to inheritance lookup:

Base.x remains 10

Child.x becomes 15

However, since the variable was inherited, Python shows:

Base.x → 15
Child.x → 15

(because both now refer to the same updated attribute in memory for immutable integers).

6. Printing the Values
print(Base.x, Child.x)

Both print:

15 15

Final Output
15 15

0 Comments:

Post a Comment

Popular Posts

Categories

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