Wednesday, 30 September 2026

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

 


Code Explanation:

1️⃣ Creating Class A
class A:

This creates the base class A.

2️⃣ Defining f() in Class A
def f(self): return "A"

Class A has a method f() that simply returns:

"A"

So:

A().f()

produces:

A

3️⃣ Creating Class B
class B(A):

B inherits from A.

So B can use the methods of A, but B also defines its own version of f().

Inheritance:

B → A

4️⃣ Overriding f() in B
def f(self): return "B" + super().f()

Here B overrides A.f().

The expression has two parts:

"B" + super().f()

"B" contributes:

B

and:

super().f()

calls the next f() in the inheritance chain, which is:

A.f()

So:

super().f() → "A"

Therefore:

"B" + "A" → "BA"

5️⃣ Creating Class C
class C(B):

Now C inherits from B.

The inheritance chain becomes:

C → B → A

6️⃣ Overriding f() in C
def f(self): return "C" + super().f()

Again, C overrides f().

The first part is:

"C"

Then:

super().f()

from inside C moves to the next class in the MRO:

B

So:

super().f()

calls:

B.f()

7️⃣ Understanding the Nested Calls

When we execute:

C().f()

Python first enters:

C.f()

Inside C.f():

"C" + super().f()

calls B.f().

Then B.f() executes:

"B" + super().f()

which calls A.f().

Finally:

A.f() → "A"

So the calls work backward like this:

C.f()
 ↓
"C" + B.f()
          ↓
       "B" + A.f()
                ↓
               "A"

8️⃣ Combining the Results

Start from the deepest call:

A.f() → "A"

Then B.f():

"B" + "A"
→ "BA"

Then C.f():

"C" + "BA"
→ "CBA"

9️⃣ Printing the Result
print(C().f())

C().f() returns:

CBA

So the final output is:

CBA

๐Ÿ”„ Complete Execution Flow
C().f()
   ↓
C.f()
   ↓
"C" + B.f()
          ↓
       "B" + A.f()
                ↓
               "A"
          ↓
        "BA"
   ↓
"C" + "BA"
   ↓
"CBA"

๐ŸŽฏ Final Output
CBA

Book: 200 Days Python Coding Challenges with Explanation

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (119) AI (346) Android (25) AngularJS (1) Api (7) Assembly Language (2) aws (31) Azure (12) BI (10) book (1) Books (359) Bootcamp (15) C (78) C# (12) C++ (83) cloud (1) Course (93) Coursera (305) Cybersecurity (36) data (10) Data Analysis (47) Data Analytics (31) data management (16) Data Science (435) Data Strucures (19) Deep Learning (222) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (9) Excel (24) Finance (13) flask (4) flutter (1) FPL (17) Generative AI (78) Git (13) Google (55) Hadoop (3) HTML Quiz (1) HTML&CSS (48) IBM (43) IoT (3) IS (25) Java (99) Leet Code (4) Machine Learning (407) Meta (24) MICHIGAN (5) microsoft (13) Nvidia (8) Pandas (16) PHP (20) Projects (35) Python (1377) Python Coding Challenge (1263) Python Library (15) Python Mathematics (19) Python Mistakes (51) Python Pattern Challenge (15) Python Quiz (647) Python Tips (112) Questions (3) R (72) React (7) Scripting (3) security (4) Selenium Webdriver (4) Software (21) SQL (55) Udemy (22) UX Research (1) web application (11) Web development (9) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)