Tuesday, 13 January 2026

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


 Code Explanation:

1. Defining a Custom Metaclass
class Switch(type):

Switch is a metaclass because it inherits from type.

A metaclass controls how classes are created.

2. Overriding the Metaclass __new__ Method
    def __new__(cls, name, bases, dct):
        if name == "Worker":
            bases = (str,)
        return super().__new__(cls, name, bases, dct)

__new__ is called whenever a class using this metaclass is created.

Parameters:

cls → the metaclass (Switch)

name → class name being created

bases → original base classes

dct → class attributes

What it does:

If the class name is "Worker", it replaces its base class with str.

Otherwise, it leaves bases unchanged.

3. Defining the Base Class
class BaseModel: 
    pass

A normal base class with no behavior.

4. Defining Class Worker
class Worker(BaseModel, metaclass=Switch): 
    pass

Step-by-step:

Python prepares to create Worker.

It calls:

Switch.__new__(Switch, "Worker", (BaseModel,), {...})

Inside __new__:

name == "Worker" → True

bases is replaced with (str,)

So Worker is actually created as:

class Worker(str): pass


Not as Worker(BaseModel).

5. Printing the Base Classes
print(Worker.__bases__)

Shows the actual base classes of Worker.

Since the metaclass changed it, the base is str.

6. Final Output
(<class 'str'>,)


Final Answer
✔ Output:
(<class 'str'>,)

100 Python Programs for Beginner with explanation

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (118) AI (180) Android (25) AngularJS (1) Api (7) Assembly Language (2) aws (27) Azure (8) BI (10) Books (261) Bootcamp (1) C (78) C# (12) C++ (83) Course (84) Coursera (299) Cybersecurity (29) Data Analysis (25) Data Analytics (16) data management (15) Data Science (242) Data Strucures (15) Deep Learning (98) Django (16) Downloads (3) edx (21) Engineering (15) Euron (30) Events (7) Excel (18) Finance (9) flask (3) flutter (1) FPL (17) Generative AI (51) 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 (219) Meta (24) MICHIGAN (5) microsoft (9) Nvidia (8) Pandas (12) PHP (20) Projects (32) Python (1238) Python Coding Challenge (964) Python Mistakes (27) Python Quiz (393) Python Tips (5) Questions (3) 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 (8) web scraping (3)

Followers

Python Coding for Kids ( Free Demo for Everyone)