Tuesday, 3 February 2026

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

 


Code Explanation:

1. Defining the Class
class Task:


A class named Task is defined.

This class will both:

have a normal method (do)

be callable because it defines __call__.

2. Defining Method do
    def do(self):
        self.do = Task()
        return "step1"

This method performs two actions:

Replaces itself on the instance

self.do = Task()


Creates an instance attribute named do.

This instance attribute overrides (shadows) the class method do.

The new value is a Task object.

Returns a string

return "step1"

3. Defining __call__
    def __call__(self):
        return "step2"


__call__ makes Task objects callable.

Any Task instance can be executed like a function:

Task()() → "step2"

 4. Creating an Instance
t = Task()


An object t of class Task is created.

Initially:

t.do → class method

5. First Call: t.do()
t.do()


Step-by-step:

Python finds do as a class method.

Executes the method.

Inside the method:

self.do = Task() creates an instance attribute.

The method returns "step1".

Result of first call:

"step1"


After this call:

t.do → Task()   # callable object

6. Second Call: t.do()
t.do()


Step-by-step:

Python looks for do on the instance t.

Finds the instance attribute (Task() object).

Since it is callable, Python executes:

t.do.__call__()


__call__ returns "step2".

Result of second call:

"step2"

7. Printing the Results
print(t.do(), t.do())


First t.do() → "step1"

Second t.do() → "step2"

8. Final Output
step1 step2

Final Answer
✔ Output:
step1 step2

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (191) 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 (260) Data Strucures (15) Deep Learning (107) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (18) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (54) 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 (230) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (13) PHP (20) Projects (32) Python (1247) Python Coding Challenge (1002) Python Mistakes (43) Python Quiz (411) 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)